从Excel中打开的Word文档中执行查找和替换功能

时间:2016-07-03 23:36:50

标签: excel vba replace ms-word

在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

1 个答案:

答案 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