ワードマクロで、相互参照の設定箇所を蛍光ペンで着色する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]は、フィールドコードを非表示にします。
フィールドコードが元の文字列に戻り、相互参照が挿入されている部分について、
蛍光ペンを解除することができました。
この記事がお役に立ちますと幸いです。
「たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】」
「5時間かかる作業が3時間でできます」ではなく「1秒で終わらせます」へ
毎日の業務を瞬時に終わらせるしくみを解説