ニーズに合わせて調整しているサードパーティの 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