Beiträge von water

    Dann braucht es einen COM error handler. Damit wird der Fehler abgefangen und das Skript crashed nicht mehr. Der Fehlercode kann dann im Skript abgefragt werden und die Funktion _VBAModify mit Return beenet werden.

    Hingegen wurde bei meinem Test unter $aIgnore das Wort "Amtsleiter" mit "Amtsleitung" trotz Eintrag in $aIgnore überschrieben.

    Mein Fehler.
    Das muss natürlich

    Code
    Global $aIgnore[] = [ _
                        'ActiveDocument.Bookmarks("Amtsleiter")' _
                        ]

    lauten. Das doppelte Anführungszeichen vor dem einfachen Anführungszeichen war zu viel.
    Nun sollte es funktionieren.
    Meine Testdaten aus beiden Tabellen kannst Du natürlich rauslöschen - verwirrt sonst irgendwann ;)

    Zu Punkt 2:

    In Array $aIgnore die zu ignorierenden Strings erfassen. ACHTUNG: Wenn einer der Strings gefunden wird, dann wird keine Ersetzung in dieser Zeile durchgeführt!

    Kleine Anpassung.
    Nun kannst Du in einem Durchlauf mehrere Strings ersetzen lassen.

    Habe das Skript aktualisiert. Nun werden alle Projects und Components eines Dokumentes verarbeitet und entsprechende Statistiken ausgegeben:

    Ich habe mir das nochmals angeschaut.
    Wenn "I-Brief.dotm" ident mit dem Dokument ist, das Du mir per PM gesendet hast, dann kann ich das Ergebnis nachvollziehen.

    Ich habe in meinem Beispielskript das Project "TemplateProject" und darin die Componente "AutoNew" verarbeitet. Es gibt dort kein "Tester" das ersetzt werden könnte.

    Aber in einem der Dialgn Forms habe ich "Tester" gefunden.

    Soll die Ersetzung daher in allen Projects und Components (Macro, GUI ...) des Dokumentes durchgeführt werden?


    Beispielscript für das konkrete Problem.

    • Es müssen nur mehr die markierten Variablen eingesetzt werden
    • Die Originaldateien werden nicht überschrieben
    • Im Ursprungsverzeichnis wird die geänderte Datei als Dateiname-NEW.dotm gespeichert
    • Für die Stapelverarbeitung muss nun nur noch mit _FileListToArray ein Array der zu verarbeitenden Dateien erstellt und für jede Datei dann die Funktion mit dem Dateinamen als Parameter aufgerufen werden