VBAを介してWord文書内の特別な単語をフォーマット(ハイライトなど)したいのですが。一般に、これはうまく機能しますが、このカスケードでは、<*>( "<"および ">"括弧で囲まれた単語。*はワイルドカードを意味しますが、括弧はそうではありません。バックスラッシュで角かっこを「エスケープ」しますが、これは機能しません。実行時エラー5623が発生します。置換テキストに範囲外のグループ番号が含まれています。
wrdDocResults.Select
With Selection.Find
.Text = "\<*\>"
.Replacement.Font.Color = wdColorBlue
.Forward = True
.Wrap = wdFindStop
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = True
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
ご協力いただきありがとうございます!
これを試してみてください
Sub test()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "\<*\>"
.Replacement.Font.Color = wdColorBlue
.Forward = True
.Wrap = wdFindStop
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = True
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub