|
はじめまして。Wordマクロ初心者のため要領を得ないかもしれませんが、もしご存じの方がいらっしゃいましたら是非よろしくお願いいたします。
以下のような、黄緑色の蛍光ペンを検索して水色に置き換えるマクロを作成しました。
表の中に蛍光ペンを含まない場合は問題なく置換が完了するのですが、表の中に蛍光ペンを含む場合は蛍光ペンの色が何色か、置換するしないに関係なくそこで動作が止まってしまい、最終的にはWordを強制終了するしかなくなってしまいます。
おそらく表内の蛍光ペンの識別がうまくいかず止まっている(ぱっと見た感じでは無限ループのように見えます)のではないかと思うのですが、解決方法がわかりません。
表内の蛍光ペンは検索しないなどの方法でもかまいませんので、なんとか強制終了することなく置換を終えることはできないでしょうか。
よろしくお願いいたします。
Sub Replace_Color()
Selection.Find.ClearFormatting
Selection.Find.Highlight = True
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Highlight = True
With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = True
End With
Do
Selection.Find.Execute
If Not Selection.Find.Found Then Exit Do
If Selection.Range.HighlightColorIndex = wdBrightGreen Then
Selection.Range.HighlightColorIndex = wdTurquoise
End If
Loop
End Sub
|
|