在Excel中,我需要打开一个Word文档(我成功完成此操作),然后在该文档中执行(以编程方式)查找/替换(在此处没有成功)。
使用Excel宏的原因是替换文本来自某些Excel单元格。
Sub Word_find_replace_attempt_from_Excel()
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = True
Set WordDoc = WordApp.Documents.Open("C:\Test.doc") 'it exists already
With WordDoc
Find.Execute _
FindText:="a", _
ReplaceWith:="b", _
Replace:=wdReplaceAll
End with
End Sub
答案 0 :(得分:1)
您不需要设置对MS Word的引用,但请确保为您使用的任何MS Word枚举声明consts。
Sub Word_find_replace_attempt_from_Excel()
Const wdReplaceAll = 2
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = True
Set WordDoc = WordApp.Documents.Open("C:\Test.doc")
With WordDoc.Content.Find
.Execute FindText:="a", ReplaceWith:="b", _
Format:=True, Replace:=wdReplaceAll, Forward:=True
End With
End Sub