Wordで色を変えて置換するマクロ

Wordは文字列の置換をするときに書式を設定することができるので文字の色を変えることもできます。
これをマクロに応用してみました。

Sub テスト()
  Call 色を変えて置換("エディタ", wdColorRed, "エディタ", wdColorBlue)
End Sub

Function 色を変えて置換(moto_text, moto_color, saki_text, saki_color)
  Set myrange = ActiveDocument.Range(Start:=0, End:=0)
  With myrange.Find
    .ClearFormatting
    .Font.Color = moto_color
    .Replacement.ClearFormatting
    .Replacement.Font.Color = saki_color
    .Text = moto_text
    .Replacement.Text = saki_text
    .Execute Replace:=wdReplaceAll
  End With
End Function

「テスト」が実行用のコードです。

「色を変えて置換」が置換する部分です。
moto_text, moto_color, saki_text, saki_colorにそれぞれ検索文字列、置換元の色、置換文字列、置換先の色をセットします。

色はwdColorRedなどのVBAの定数で表します。
内容はWdColor 列挙 (Word) | Microsoft Docsにあります。

コメント

タイトルとURLをコピーしました