Word文書を検索して、特定の文字列を(今のところ「Special」のハードコードされた値を使用して)指定された値に置き換えようとしています。マクロは、Wordエディターで正しいテキストを検出したことを明確に示していますが、置換機能が機能していません。これは私の絶対的な最初のVBA体験なので、可能であれば助けが必要です。次のコードはマクロです...
Sub Test()
'
' Test Macro
'
'
Documents.Open FileName:="C:\Users\abensch\Documents\NANTDocMerge\DMID - Backups\System Clock Ability.docx", _
ConfirmConversions:=False, _
ReadOnly:=False, AddToRecentFiles:=False, _
PasswordDocument:="", PasswordTemplate:="", _
Revert:=False, WritePasswordDocument:="", _
WritePasswordTemplate:="", _
Format:=wdOpenFormatAuto, _
XMLTransform:=""
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "Special"
.Replacement.Text = "Potato"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
End Sub
Select.Findで指定されたパラメーターのほとんどが必要かどうかはわかりません。それらを削除してもマクロのパフォーマンスには影響しないようですが、安全のためにそのままにしておくと思いました。2つのClearFormatting呼び出しですべての書式設定を削除しようとしましたが、Wordの書式設定の問題である可能性があるのではないかと思います。