1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

WORD 2003 - Makro

Discussion in 'Office-Programme' started by hajo, Oct 30, 2009.

Thread Status:
Not open for further replies.
  1. hajo

    hajo Kbyte

    Hallo,

    ich möchte Aktionen per Makro für alle WORD-Dateien in einem Verzeichnis ausführen lassen.
    Wie lauten die Anweisungen für die entsprechende Schleife?

    Danke für die Hilfe.
    Hajo
     
  2. brum

    brum Kbyte

    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
    
    Gruss
    Bruno
     
  3. hajo

    hajo Kbyte

    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
     
  4. Hascheff

    Hascheff Moderator

    Welches Makro produziert die Fehlermeldung?
    Und in welcher Zeile?
     
  5. hajo

    hajo Kbyte

    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
     
  6. Urs2

    Urs2 Megabyte

    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
     
  7. hajo

    hajo Kbyte

    Hallo urs,

    Dein Makro hat einwandfrei funktioniert, auch mehrmals hintereinander.

    Danke
    Hajo
     
Thread Status:
Not open for further replies.

Share This Page