|
▼ぱたぱた さん:
解決後ですが、
1)今のコードを修正するなら、次の検索に移る前に
以下を実行すると問題は解決すると思います。
置換マクロではよく使われる手法です。
Selection.Collapse direction:=wdCollapseEnd
また、今のコードはマクロ実行前のカーソルの位置で結果がかわります。
最初にカーソルを文頭に移動させたほうがよいです。
Selection.HomeKey wdStory
2)Rangeオブジェクトを使用する場合でも
無限ループになる場合があります。
なので、同じように、
Rng.Collapse direction:=wdCollapseEnd
を追加しておいたほうが無難かもしれません。
3)色が違う蛍光ペンが連続してあると置換に失敗するそうです。
ht tp://ameblo.jp/gidgeerock/entry-11012321922.html
以上を踏まえて、わたしの場合はこんな感じにします。
Option Explicit
Sub test()
Dim r As Range
Set r = ActiveDocument.Range
With r.Find
.Format = True
.Highlight = True
Do While .Execute
Do While r.HighlightColorIndex = wdUndefined
r.MoveEnd Unit:=wdCharacter, Count:=-1
Loop
If r.HighlightColorIndex = wdBrightGreen Then
r.HighlightColorIndex = wdTurquoise
End If
r.Collapse direction:=wdCollapseEnd
Loop
End With
End Sub
|
|