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

问题描述 投票:3回答:1

我正在尝试在Excel中创建一个宏来打开一个Word文档,找到一个especify文本,这是在word doc中的页脚内部,并将其替换为文本。

目前,我的宏打开了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中)

excel vba ms-word word-vba footer
1个回答
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

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

© www.soinside.com 2019 - 2024. All rights reserved.