Gerne.
Ich habe nur $sSearch = "Tester" und $sReplace = "Master" gefüllt.
Ich habe es auf einem anderen PC mit Office 2019 eben auch noch getestet mit demselben Resultat, dass das Wort Tester nicht ersetzt wurde. Im AV wird auch nichts verhindert. Da habe ich nachgeschaut.
C
#include <Word.au3>
#include <MsgBoxConstants.au3>
; ********** Änderungen nur NACH dieser Zeile **********
Global $sSearch = "Tester" ; Wonach soll gesucht werden?
Global $sReplace = "Master" ; Wodurch soll es ersetzt werden?
Global $sTemplate = @ScriptDir & "\I-Brief" ; Zu verarbeitende Word Vorlagedatei
; ********** Änderungen nur VOR dieser Zeile **********
Global $sExtension = ".dotm"
; Start the MS Word application
Global $oWord = _Word_Create()
If @error Then Exit MsgBox($MB_ICONERROR, "Error", "_Word_Create: @error=" & @error & ", @extended=" & @extended)
; Process the Template
_VBAModify($sTemplate)
Exit
Func _VBAModify($sTemplate)
; Open the Document
Global $oDoc = _Word_DocOpen($oWord, $sTemplate & $sExtension)
If @error Then Exit MsgBox($MB_ICONERROR, "Error", "_Word_DocOpen: @error=" & @error & ", @extended=" & @extended)
; Open TemplateProject
$oVBProject = $oWord.VBE.VBProjects("TemplateProject")
If @error Then Exit MsgBox($MB_ICONERROR, "Error", "VBProjects: @error=" & @error & ", @extended=" & @extended)
; Open AutoNew VBComponent
$oVBComponent = $oVBProject.VBComponents("AutoNew")
If @error Then Exit MsgBox($MB_ICONERROR, "Error", "VBComponents: @error=" & @error & ", @extended=" & @extended)
; Modify line by line
$oCodeModule = $oVBComponent.CodeModule
If @error Then Exit MsgBox($MB_ICONERROR, "Error", "CodeModule: @error=" & @error & ", @extended=" & @extended)
With $oCodeModule
For $i = 1 To .CountOfLines
If StringInStr(.Lines($i, 1), $sSearch) Then .ReplaceLine($i, StringReplace(.Lines($i, 1), $sSearch, $sReplace))
Next
EndWith
; Save as new Document
_Word_DocSaveAs($oDoc, $sTemplate & "-NEW" & $sExtension, $WdFormatXMLTemplateMacroEnabled)
If @error Then Exit MsgBox($MB_ICONERROR, "Error", "_Word_DocSaveAs: @error=" & @error & ", @extended=" & Hex(@extended))
; Close Document
_Word_DocClose($oDoc)
EndFunc ;==>_VBAModify
Alles anzeigen