我们有一个第 3 方 VBA 模块,我们正在对其进行调整以满足我们的需求。我们正在尝试做的是在 Word 文档的页脚中搜索文件路径,并将文件路径替换为(第三方生成的)文档 ID。
该代码实际上目前非常简单,几乎可以工作。我们用所需的文档 ID 覆盖文档页脚中的文件路径没有问题,但是目前我们的代码正在覆盖Word 文档页脚中的所有文本(页码、编写文档的人的首字母等)。我们只想要文件路径被替换。
任何人都可以建议我们在下面的代码中哪里出错了吗?该代码当前搜索现有 ID;如果找不到,但找到了它试图覆盖的文件路径;否则它会从头开始将文档 ID 写入文档:
Set tSearch = doc.Sections(1).Footers(wdHeaderFooterPrimary).Range.Find
tSearch.Text = idStr
If Not tSearch.Execute() Then
'Current ID wasn't found; look for and replace an older one.
tSearch.MatchWildcards = True
tSearch.Text = "?:\*"
If Not tSearch.Execute(ReplaceWith:=idStr) Then
doc.Sections(1).PageSetup.DifferentFirstPageHeaderFooter = False
doc.Sections(1).Footers(wdHeaderFooterPrimary).Range.Text = idStr
doc.Sections(1).Footers(wdHeaderFooterPrimary).Range.Font.Size = 8
End If
End If