我正在尝试在 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中)
答案 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
您需要扩展示例以使用自己的格式查找其他文本。