在 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
我正在尝试基于一个模板创建多个 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