【ワードマクロ】文字色を一括で変更:4つの使用例を紹介するよ

ワードマクロ文字色を変更するアイキャッチ ワードマクロで効率化する

ワードマクロで、文字色を変更するVBAコードをご紹介します。

以下のような作業でお困りはありませんか?

・特定の文字の色を一括で変更したい
・複数の文字の色を一括で変更したい
・文字によって色分けしたい

このページのマクロコードは、コピペで使えます。
ぜひお試しください!

1つの特定文字の文字色を変更する

以下のWordVBAを実行すると、指定したキーワードの文字色を変更します。

Sub 文字色を変更1()

  Dim Target As String

  '文書の先頭を選択
  ActiveDocument.Range(0, 0).Select
    
  '対象文字列を変数に格納
  Target = "会員"

  '文字色を変更
  With Selection.Find
       
    .Text = Target
    .Replacement.Text = ""
    .Replacement.Font.Color = wdColorRed
    .Forward = True
    .Wrap = wdFindStop
    .MatchCase = True
    .Execute Replace:=wdReplaceAll
        
  End With

End Sub

マクロ実行前

マクロ実行後

「会員」という文字の色を、赤文字に変更しました。

VBAコードの解説

[Target]は、
文字色を変更したいキーワードを入力します。

[.Replacement.Font.Color = wdColorRed]は、
[Target] に入力したキーワードの文字色を「赤」に指定します。
 

複数の特定文字の文字色を変更する

以下のWordVBAを実行すると、指定したキーワードの文字色を変更します。

Sub 文字色を変更2()
 
  Dim Target(3) As String
  Dim i As Long
 
  '文書の先頭を選択
  ActiveDocument.Range(0, 0).Select
     
  '対象文字列を変数に格納
  Target(1) = "会員"
  Target(2) = "一般"
  Target(3) = "ゴールド"
 
  '文字色を変更
  For i = 1 To 3
    With Selection.Find
          
      .Text = Target(i)
      .Replacement.Text = ""
      .Replacement.Font.Color = wdColorBlue
      .Forward = True
      .Wrap = wdFindStop
      .MatchCase = True
      .Execute Replace:=wdReplaceAll
           
    End With
  Next i
  
  Erase Target
 
End Sub

マクロ実行前

マクロ実行後

「会員」、「一般」、「ゴールド」の文字列の色を、青文字に変更しました。

 

ダイヤログボックスで文字を指定する

以下のWordVBAを実行すると、ダイヤログボックスに入力したキーワードの文字色を変更します。

Sub 文字色を変更2()

  Dim GetKW As String
  Dim InputKW As String
    
  '文書の先頭を選択
  ActiveDocument.Range(0, 0).Select
    
  InputKW = "文字を入力してください"
   
  'ダイヤログボックスに対象文字を入力
  GetKW = InputBox(InputKW)
    
  If GetKW = "" Then
    Exit Sub
  Else

     '文字色を変更     
     With Selection.Find
        
       .Text = GetKW
       .Replacement.Text = ""
       .Replacement.Font.Color = wdColorRed
       .Forward = True
       .Wrap = wdFindStop
       .MatchCase = True
       .Execute Replace:=wdReplaceAll
            
     End With

  End If

End Sub

マクロ実行前

マクロ実行後

ダイヤログボックスに入力した「ゴールド」という文字の色を、赤文字に変更しました。

VBAコードの解説

[GetKW = InputBox(InputKW)]では、
下図のようにダイヤログボックスが表示されるので、
文字色を変更したいキーワードを手入力し、「OK」をクリックします。

 

文字によって色分けする

以下のWordVBAを実行すると、
ダイヤログボックスに入力したキーワードによって、文字色を色分けします。

Sub 文字色を変更3()

  Dim GetKW As String
  Dim InputKW As String
    
  '文書の先頭を選択
  ActiveDocument.Range(0, 0).Select
    
  InputKW = "文字を入力してください"
    
  'ダイヤログボックスに対象文字を入力
  GetKW = InputBox(InputKW)
    
  If GetKW = "" Then
    Exit Sub
  Else
        
   '文字色を変更
    With Selection.Find
        
       Select Case GetKW
         Case "ゴールド"
          '文字色を赤色に指定
          .Replacement.Font.Color = wdColorRed
         Case "プラチナ"
          '文字色を青色に指定
          .Replacement.Font.Color = wdColorBlue
         Case Else
          '文字色を緑色に指定
          .Replacement.Font.Color = wdColorGreen
       End Select
        
       .Text = GetKW
       .Replacement.Text = ""
       .Forward = True
       .Wrap = wdFindStop
       .MatchCase = True
       .Execute Replace:=wdReplaceAll
            
    End With

  End If

End Sub

マクロ実行前

マクロ実行後

ダイヤログボックスに入力した「ゴールド」「プラチナ」「一般」という文字の色を、
それぞれ指定した色に変更しました。

VBAコードの解説

[Select Case]にて、複数の条件分岐を設定します。

[Case “ゴールド”]は、ダイヤログボックスに入力した文字が「ゴールド」の場合、
「ゴールド」の文字色を赤文字に変更します。

[Case “プラチナ”]は、ダイヤログボックスに入力した文字が「プラチナ」の場合、
「プラチナ」の文字色を青文字に変更します。

[Case Else]は、ダイヤログボックスに入力した文字が「ゴールド」、「プラチナ」以外の場合、
文字色を緑文字に変更します。

 

【ワードマクロ】特定の文字を蛍光ペンで着色する超具体的な使用例
...