0

Forward := TruemyArray 内の単語の色をカーソル位置からファイルの末尾までのみ変更します。選んだ文章だけに応募したい。コマンドが見つかりませんでした。助言がありますか?前もって感謝します。

Dim rng As Word.range
Dim i As Long
Dim myArray

myArray = Array("FROM", "ADD", "MAYBE"......)
For i = 0 To UBound(myArray)
Set rng = Selection.range
With rng.Find
    .Text = myArray(i)
    .Format = True
    .MatchCase = False
    .MatchWholeWord = True
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False

Do While .Execute (Forward := True) = True
    rng.Font.Color = RGB(100, 150, 255)
Loop
End With

Next
End Sub
4

1 に答える 1

0

あなたの状況では、コードの別のタイプの置換部分を使用する必要があります。したがって、コードのこの部分の代わりに:

With rng.Find
'... remove everything within With...End With structure
End with

次のようなものを使用する必要があります。

With rng.Find
    .Text = myArray(i)
    .Format = False
    .MatchCase = False
    .MatchWholeWord = True

    With .Replacement.Font
        .Color = RGB(100, 150, 255)
    End With
    .Execute Forward:=False, Replace:=wdReplaceAll
End With

コードは試され、テストされ、正常に動作しています。

于 2013-07-15T17:17:17.277 に答える