Anzeige
Archiv - Navigation
1004to1008
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Autom. Datei erzeugen und Inhalt hineinschreiben..

Autom. Datei erzeugen und Inhalt hineinschreiben..
05.09.2008 08:59:57
Helmut
Liebe Mitglieder,
ich habe folgende knifflige Situation manuell zu tätigen:
In einem Ordner befinden sich x PDF-Dokumente (z.B. abcde.pdf, dfg45.pdf, usw.). Zu jedem dieser Dokumente muss ich eine txt-Datei anlegen, die einen Pfad enthält und folgendermaßen aussieht, also z.B. abcde.txt mit Pfad-Inhalt z.B. \\fsv2\url\3\30\abcde.pdf zu dieser vorhandenen Datei.
Der Pfad in der Datei ist veränderlich und sollte geändert werden bevor die Anlage der txt-Datei startet.
Letztendlich soll die txt-Datei in eine URL-Datei umbenannt werden, also lt. Beispiel abcde.txt wird zu abcde.url.
Kann ich diesen manuellen Vorgang mit VBA automatisieren, zumindest bis auf die Eingabe des Pfades, der ja veränderlich sein kann („Eingabe“ bzw. Verwenden durch automatisches Auslesen des Windows-Pfades, also der Adresse im Explorer  wie geht das?)?
Es wäre super, wenn mir hier jemand weiterhelfen könnte, da ich wenig bis gar keine Script-Kenntnisse habe.
Danke im Voraus, Helmut

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Autom. Datei erzeugen und Inhalt hineinschreib
05.09.2008 18:05:18
Anton
Hallo Helmut,
wenn ich Dich richtig verstanden habe,dann so vllt:

Sub b()
  Dim AppShell As Object  
  Dim BrowseDir As Variant, o, d, f  
  Dim Pfad As String  
  Dim fso As Object  
  Set AppShell = CreateObject("Shell.Application")  
 'Ordnerauswahl
  Set BrowseDir = AppShell.BrowseForFolder(0, "Ordner mit PDF Dateien auswählen", &H1000, 17)  
  On Error Resume Next    
  Pfad = BrowseDir.items().Item().Path
  If Pfad = "" Then Exit Sub    
  Set fso = CreateObject("Scripting.FileSystemObject")  
  Set o = fso.GetFolder(Pfad)  
  For Each d In o.Files  
    If LCase(fso.GetExtensionName(d)) = "pdf" Then    
     'hier wird eine URL-Datei angelegt im oben ausgewählten Ordner
      Set f = fso.OpenTextFile(Pfad & "\" & fso.GetBaseName(d) & ".url", 2, True)    
      f.Write d 'Inhalt der Datei ist der Windows-Pfad der PDF-Datei
      f.Close
    End If  
  Next
  Set AppShell = Nothing  
  Set fso = Nothing  
End Sub  

mfg Anton
Anzeige
AW: Autom. Datei erzeugen und Inhalt hineinschreib
15.09.2008 21:32:00
Helmut
Hallo Anton!
Danke für das Beispiel! Ich konnte leider erst jetzt antworten, war krank. Werde das testen!
Liebe Grüße, Helmut
AW: Autom. Datei erzeugen und Inhalt hineinschreiben..
05.09.2008 18:14:00
fcs
Hallo Helmut,
hier ein Beispiel zum Auslesen eines Verzeichnisses und Ausgabe in Textdatei.
Gruß
Franz

Sub pdf_url()
Dim strDatei As String, strURL_Datei As String, strPfad As String, strPfadaktuell
Dim varAuswahl, intFF As Integer, strText As String
strPfadaktuell = VBA.CurDir
varAuswahl = Application.GetOpenFilename(Filefilter:="PDF-dateien(*.pdf),*.pdf", _
Title:="Bitte PDF-Datei im Verzeichnis auswählen")
If varAuswahl = False Then Exit Sub
strPfad = VBA.CurDir
VBA.ChDir strPfadaktuell
varAuswahl = Application.GetSaveAsFilename(InitialFileName:="xxxxx.txt", _
Filefilter:="Text(*.txt), *.txt", _
Title:="Bitte Dateiname für url-Datei wählen/festlegen")
If varAuswahl = False Then Exit Sub
intFF = FreeFile()
strURL_Datei = varAuswahl
strDatei = Dir(strPfad & "\*.pdf")
If strDatei = "" Then Exit Sub
Open strURL_Datei For Output As #intFF
Do Until strDatei = ""
strText = strPfad & "\" & strDatei
'die nachfolgende Zeile ist evtl. erforderlich, um Laufwerksbuchstaben abzuschneiden
If Left(strText, 1)  "\" Then strText = "\" & Mid(strText, 3)
Print #intFF, strText
strDatei = Dir
Loop
Close #intFF
'Nachfolgendes funktioniert nicht so richtig, für's Umbennen hab ich keine direkten _
VBA-Befehl gefunden.
'  VBA.FileCopy Source:=strURL_Datei, Destination:=Left(strURL_Datei, Len(strURL_Datei) - 3) & " _
url"
'  Kill strURL_Datei
MsgBox "Fertig"
End Sub


Anzeige
AW: Frage falsch gelesen.
05.09.2008 18:19:29
fcs
Hallo Helmut,
hab dich falsch verstanden Antons weg scheint der richtige zu sein.
Gruß
Franz

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige