|
|
||||||
Office-Programme Microsoft Office, OpenOffice/LibreOffice und andere |
|
|
LinkBack | Themen-Optionen | Thema bewerten | Ansicht |
|
|||
|
Hallo Hajo
Du könntest es wie folgt machen (Teil): Code:
datei = Dir("C:\Ordner\*.*") 'Ordnernamen anpassen
While datei > ""
Documents.Open FileName:=datei, ReadOnly:=False, Format:=wdOpenFormatAuto
' hier wäre dann Dein Code oder der Aufruf des entsprechenden Makros
datei = Dir
Wend
Bruno |
|
|||
|
Hallo Bruno,
mein Makro-Code lautet: Sub allFiles() ' datei = Dir("H:\Temp1\*.*") 'Ordnernamen anpassen While datei > "" Documents.Open FileName:=datei, ReadOnly:=False, Format:=wdOpenFormatAuto ' Makro-Code oder der Aufruf des entsprechenden Makros Call CopyFirstPage datei = Dir Wend End Sub Vor Verarbeitung der ersten Datei (ist vorhanden) kommt der Makroabbruch mit dem Hinweis 'Laufzeitfehler 5174 - Datei konnte nicht gefunden werden'. Hast Du noch eine Idee? Gruß Hajo |
|
|||
|
Hallo Hascheff,
ich habe es mit mehreren Call-Makros versucht; der Fehler wird angezeigt in der Zeile 'Documents.Open FileName' im aufrufenden, oben gezeigten Makro. Jetzt habe ich festgestellt, dass unmittelbar nach PC-Start das Makro funktioniert, bei einem zweiten Aufruf jedoch der Fehler kommt. Gruß Hajo |
|
|||
|
Hallo Hajo,
In meinem Word2003 funktioniert dieses Makro problemlos > Code:
Sub BatchMacro()
Dim oDoc As Word.Document, sPath As String, sFileSpec As String, sFile As String, _
sFileList() As String, i As Integer
sPath = "H:\Temp1\"
sFileSpec = sPath & "*.doc"
sFile = Dir$(sFileSpec)
'alle Dateinamen in Array speichern
i = -1
Do Until sFile = ""
i = i + 1
ReDim Preserve sFileList(i) As String
sFileList(i) = sFile
sFile = Dir$
Loop
'alle Dateinamen aus Array bearbeiten
For i = 0 To UBound(sFileList)
Set oDoc = Word.Documents.Open(sPath & sFileList(i))
'Deine Befehle, zB anderes Makro aufrufen
CopyFirstPage
'......
'..........
'Datei schliessen
oDoc.Close (True)
Next i
'Array entfernen
Erase sFileList
End Sub
Gruss Urs |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | Thema bewerten |
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:09 Uhr.





