【Word VBA】括弧内の言葉をマーキングして読みやすくするWordマクロ

2015年3月13日

翻訳手順として、括弧内の文字列をマーキングして読みやすくするという手法をされている方がいることをFacebookの投稿で知りました。

その投稿への書き込みからヒントをいただいてつくってみました。

このマクロでできること

丸括弧(半角・全角)で囲まれた文字列の背景色を「灰色25%」で着色します。

背景色のマーキングには、[ホーム]タブの段落グループにある以下のボタンを使います。

背景色なので、蛍光ペンとは独立しています。そのため、通常のマーキングと区別してマーキングできます。

開く括弧と閉じる括弧の数があっていない場合、意図していない大きな範囲がマーキングされてしまいますから、誤記の判定にも使えます。

マクロの解説

[検索と置換]ダイアログボックスを用いた置換で文字列の背景色を置換することはできません。

そのため、1つ1つ対象箇所を探して、それぞれに背景色の変更の処理(15行目)をしています。

myRange.Font.Shading.BackgroundPatternColor = wdColorGray25

マクロ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Sub 括弧内の文字の背景を灰色25パーセント()
 
Dim myRange As Range
 
Set myRange = ActiveDocument.Range(0, 0)
 
With myRange.Find
 .Text = "[((]*[))]" '検索する文字列
 .Forward = True
 .Wrap = wdFindStop
 .MatchWildcards = True 'ワイルドカードを使用する
 Do While .Execute = True
  '見つかったら背景を灰色25パーセント
  With myRange
   .Font.Shading.BackgroundPatternColor = wdColorGray25
   .Collapse wdCollapseEnd
  End With
 Loop
End With
 
Set myRange = Nothing
 
End Sub

-コード
-, ,

S