在 word 文档中查找并替换 excel vba 中的文本

Find and replace text from excel vba in a word document

我正在尝试基于一个模板创建多个 word 文档,目前我可以打开模板 word doc 并将其另存为我想要的文件名,该文件名是从 table in [=17] 中提取的=].我想要做的是在将模板另存为新文档之前替换模板中的文本“##Title##”。这是我没有替换任何文本的代码:

            Set objWord = CreateObject("Word.Application")
            Set objDoc = objWord.Documents.Open(reportTemplate)
            objDoc.Content.Find.Text = "##Title##"
            objDoc.Application.Selection.Find.Text = "##Title##"
            objDoc.Application.Selection.Find.Execute
            objDoc.Application.Selection.Find.Replacement.Text = clients(i)
            objDoc.Application.Selection.Find.Execute
            objWord.Visible = True
            objDoc.SaveAs (fileName)

任何帮助都会很棒,谢谢!

搜索时不需要执行 execute(仅用于替换),这里的常见答案是:

With objDoc.Content.Find

.Text = "##Title##"
.Replacement.Text = clients(i)
.Forward = True
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute Replace:=wdReplaceOne   
End With

微软官方文档也有good examples