在Excel中使用Excel VBA宏查找和替换页脚文本

时间:2019-04-05 13:22:53

标签: excel vba ms-word word-vba footer

我正在尝试在 Excel 中制作一个,该宏会打开一个 Word 文档,找到一个具体的文本,该文本位于< word文档中的strong> footer ,然后将其替换为文本。

此刻,我的宏打开了doc一词,但我不知道如何进入页脚并找到这些文本。

    Dim objWord
    Dim objDoc
    Set objWord = CreateObject("Word.Application")
    Set objDoc = objWord.Documents.Open(ThisWorkbook.Path & "/NotaPromissoriaAutomatica.docx")
    objWord.Visible = True

页脚中有两个文本必须替换

  

1-VAR_CIDADE>将替换为当前城市(位于我的excel表的A1中)
  2-VAR_DATA>将替换为当前日期(在我的Excel表的A2中)

1 个答案:

答案 0 :(得分:0)

我创建了一个包含单页,页眉和页脚的测试文档,页脚使用关键字“ VAR_DATA”。下面的示例代码将搜索文档中的所有页脚并进行替换。请注意,代码只能在Section(1)中搜索。如果您有更多的部分,则可能必须创建一个外部循环来搜索每个部分中的每个页脚。

Option Explicit

Public Sub FixMyFooter()
    Dim myWord As Object
    Dim myDoc As Word.Document
    Set myWord = CreateObject("Word.Application")
    Set myDoc = myWord.Documents.Open("C:\Temp\footertest.docx")

    Dim footr As Word.HeaderFooter
    For Each footr In myDoc.Sections(1).Footers
        With footr.Range.Find
            .Text = "VAR_DATA"
            .Replacement.Text = Format(Now(), "dd-mmm-yyyy")
            .Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindStop
        End With
    Next footr

    myDoc.Save
    myWord.Quit
End Sub

您需要扩展示例以使用自己的格式查找其他文本。