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



我试图创建多个word文档都基于一个模板,目前我可以打开模板word文档并将其保存为我想要的文件名,从excel中的表中取出。我要做的是替换文本"##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)

任何帮助将是伟大的,谢谢!

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

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

微软官方文档也有很好的例子

最新更新