Hallo,
können Sie mir sagen, ob man Winword über die Kommandozeile mit einer „Listendatei“ starten kann, in der die zu öffnenden Dateien stehen? Zu MS-DOS Zeiten gab’s mal die Ein-Ausgabe Umleitung mit den Zeichen.
Hallo Hubert
Sie können dies wie folgt erreichen:
-
Erstellen Sie eine Text-Datei, welche in unserem Beispiel „C:\DokListe.txt“ heissen soll. (Allenfalls im Kopf des VBA-Codes anpassen)
-
Schreiben Sie in diese Datei den Pfad einiger Worddateien, getrennt mit einem normalen Zeilenumbruch.
-
Erstellen Sie ein Worddokument und kopieren Sie im VBA-Editor das nachfolgende Makro in ein neues Modul.
-
Speichern Sie dieses Worddokument z.B. unter „C:\Eigene Dateien\Hubert.doc“ ab.
-
Start - Ausführen
-
Geben Sie folgendes Kommando ein:
x:\office pfad\winword.exe „c:\Eigene Dateien\Hubert.doc“ /mDokListe
Den Pfad für winword müssen Sie natürlich anpassen. Zwischen „/m“ und DokListe darf kein Leerschlag sein.
Gruss
S. Widmer
Sub DokListe()
Set oDoc = ActiveDocument
Pfad = „C:\DokListe.txt“
Q = Chr(34)
chk = Dir(Pfad)
If chk = „“ Then
MsgBox „Die Datei " & Q & Pfad & Q & " existiert nicht.“
End
End If
Close
Open Pfad For Binary As #1
tstr = Input(LOF(1), #1)
If Right(tstr, 1) Chr(13) Then tstr = tstr & Chr(13) & Chr(10)
ofs = InStr(tstr, Chr(13))
While ofs > 0
Datei = Left(tstr, ofs - 1)
chk = Dir(Datei)
If chk = „“ Then
MsgBox „Das Dokument " & Q & Datei & Q & " existiert nicht.“
Else
Documents.Open FileName:=Datei
End If
tstr = Right(tstr, Len(tstr) - ofs - 1)
ofs = InStr(tstr, Chr(13))
Wend
Close #1
oDoc.Close
End Sub