使用 Excel VBA 更新 Word 文档

使用 Excel VBA 更新 Word 文档

我正在尝试使用 Excel VBA 更新 Word 文档。在下面的链接中找到了此代码,但它对我来说不起作用。

它逐步执行代码,但 Word 文档未更新。此时,我所做的只是在信件上插入今天的日期。

Sub test()
    Dim ws As Worksheet
    Dim objWord As Object
    Dim i As Integer
    Dim strValue As String

    Set ws = ThisWorkbook.Sheets("CustomerNames")
    Set objWord = CreateObject("Word.Application")

    objWord.Visible = True
    objWord.Documents.Open "C:\Users\kindyd1\Desktop\COPE\receipt_letter.docx"

    objWord.Activate

    With objWord.ActiveDocument.Content.Find
        .Text = "<<DateToday>>"
        .Replacement.Text = Format(Date, "yyyy/mm/dd")
        .Execute Replace:=wdReplaceAll
    End With
End Sub

类似练习的链接

答案1

根据您在上面的评论中提供的其他信息,您使用的 VBA 代码所遇到的问题至少有一部分的答案与后期绑定有关。wdReplaceAll如果您的解决方案使用后期绑定,则您的代码引用了不可用的 Word 设置。

可以通过向 Microsoft Word 添加项目引用来解决该问题,然后将自动化绑定更改为早期绑定,然后wdReplaceAll可以由基于 Excel 的宏正确理解,或者......使用代表的绝对值wdReplaceAll,即值 2。

以下是一篇有关早期绑定与晚期绑定的文章供您阅读: https://support.microsoft.com/en-us/help/245115/using-early-binding-and-late-binding-in-automation

相关内容