【ワードマクロ】相互参照の設定箇所を蛍光ペンで着色する裏ワザ

ワードマクロで相互参照の設定箇所を蛍光ペンで着色するアイキャッチ ワードマクロで効率化する

ワードマクロで、相互参照の設定箇所を蛍光ペンで着色するVBAコードをご紹介します。

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

・相互参照が挿入されている箇所をチェックしたい
・相互参照がどこに挿入されているか分からなくなった

私は、相互参照を挿入している箇所は、通常の文字と見え方は一緒なので、
どこに相互参照が挿入されているかは見た目では判断がつかず、
どうチェックしたらよいか困ったので、このマクロを作りました。

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

相互参照の設定箇所を蛍光ペンで着色する

以下のWordVBAを実行すると、
ワードファイル内の相互参照の設定箇所を、緑色の蛍光ペンで着色します。

Sub 相互参照を蛍光ペンで着色()

  'フィールドコードを表示 ※1
 ActiveWindow.View.ShowFieldCodes = True

 '蛍光ペンの色を緑色に指定
 Options.DefaultHighlightColorIndex = wdBrightGreen

 '蛍光ペンで着色する文字の条件を指定
 With Selection.Find

    '検索の文字列と書式のクリア
  .ClearFormatting

    '置き換えの文字列と書式のクリア
  .Replacement.ClearFormatting

    '置換語の文字列の蛍光ペンをオン
  .Replacement.Highlight = True

    'フィールドコードを対象文字に設定
  .Text = "^d"
  .Replacement.Text = ""
  .Forward = True
  .Wrap = wdFindContinue
  .Format = True
  .MatchCase = False
  .MatchWholeWord = False
  .MatchByte = False
  .MatchAllWordForms = False
  .MatchSoundsLike = False
  .MatchWildcards = False
  .MatchFuzzy = False

  '蛍光ペンで着色を実行 ※2
  .Execute Replace:=wdReplaceAll

 End With

  'フィールドコードを非表示 ※3
 ActiveWindow.View.ShowFieldCodes = False

End Sub

マクロ実行前

見た目ではどこに相互参照が設定してあるか分からないですね。

マクロ実行後

相互参照が設定してある箇所を、緑の蛍光ペンで着色しました。

VBAコードの解説

※1
[ActiveWindow.View.ShowFieldCodes = True]は、フィールドコードを表示します。
相互参照が設定してある箇所に、暗号のような文字(フィールドコード)が太字で表示されます。

※2
[.Execute Replace:=wdReplaceAll]は、フィールドコードについて蛍光ペンの着色を実行します。

※3
[ActiveWindow.View.ShowFieldCodes = False]は、フィールドコードを非表示にします。
フィールドコードが元の文字列に戻り、相互参照が挿入されている部分を蛍光ペンで着色することができました。

 

相互参照の設定箇所につけた蛍光ペンを解除する

以下のWordVBAを実行すると、
ワードファイル内の相互参照の設定箇所につけた蛍光ペンを解除します。

Sub 相互参照につけた蛍光ペンを解除()

 'フィールドコードを表示 ※1
 ActiveWindow.View.ShowFieldCodes = True

 '蛍光ペンを解除する
 Options.DefaultHighlightColorIndex = wdNoHighlight

 '蛍光ペンを解除する文字の条件を指定
 With Selection.Find

  '検索の文字列と書式のクリア
  .ClearFormatting

  '置き換えの文字列と書式のクリア
  .Replacement.ClearFormatting

  '置換語の文字列の蛍光ペンをオン
  .Replacement.Highlight = True

  'フィールドコードを対象文字に設定
  .Text = "^d"
  .Replacement.Text = ""
  .Forward = True
  .Wrap = wdFindContinue
  .Format = True
  .MatchCase = False
  .MatchWholeWord = False
  .MatchByte = False
  .MatchAllWordForms = False
  .MatchSoundsLike = False 
  .MatchWildcards = False
  .MatchFuzzy = False

  '蛍光ペンの解除を実行 ※2
  .Execute Replace:=wdReplaceAll

 End With

 'フィールドコードを非表示 ※3
 ActiveWindow.View.ShowFieldCodes = False

End Sub

マクロ実行前

相互参照が挿入されている箇所に蛍光ペンをつけている状態です。

マクロ実行後

相互参照が挿入されている箇所についていた蛍光ペンを解除しました。

VBAコードの解説

[Options.DefaultHighlightColorIndex = wdNoHighlight]は、
蛍光ペンの色を「色なし」に設定します。

※1
[ActiveWindow.View.ShowFieldCodes = True]は、フィールドコードを表示します。
相互参照が設定してある箇所に、暗号のような文字(フィールドコード)が太字で表示されます。

※2
[.Execute Replace:=wdReplaceAll]は、フィールドコードについて蛍光ペンの解除を実行します。

※3
[ActiveWindow.View.ShowFieldCodes = False]は、フィールドコードを非表示にします。
フィールドコードが元の文字列に戻り、相互参照が挿入されている部分について、
蛍光ペンを解除することができました。

 

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