カタカナに蛍光ペンで色をつけるマクロ
文書中のカタカナ文字を蛍光ペンで着色します。
30行のとおり、現在の設定では、「明るい緑色=wdBrightGreen」が設定されていますが、以下のように別の色も設定できます。
| wdAuto |
| wdBlack |
| wdBlue |
| wdBrightGreen |
| wdByAuthor |
| wdDarkBlue |
| wdDarkRed |
| wdDarkYellow |
| wdGray25 |
| wdGray50 |
| wdGreen |
| wdNoHighlight |
| wdPink |
| wdRed |
| wdTeal |
| wdTurquoise |
| wdViolet |
| wdWhite |
| wdYellow |
50行の
.Text = "([ァ-ヾヲ-゚]{1,})"
が、カタカナ1文字以上の設定方法です。
Rangeオブジェクトでの一括置換としていますが、ワイルドカードの設定をtrueにすることをお忘れなく(80行)。
置換対象は、カタカナ文字であり、「検索したカタカナ文字列」を、蛍光ペンで着色した「検索したカタカナ文字列と同じ文字列」に置換するという命令です。
上記の「検索したカタカナ文字列と同じ文字列」は、110行のとおり「\1」として表示されます。
Sub カタカナ()
Dim myRange As Range
Dim myColorIndex As String
10 Set myRange = Selection.Range
'蛍光ペンの設定を仮保存
20 myColorIndex = Options.DefaultHighlightColorIndex
'蛍光色を変更
30 Options.DefaultHighlightColorIndex = wdBrightGreen
40 With myRange.Find
50 .Text = "([ァ-ヾヲ-゚]{1,})"
60 .Forward = True
70 .Wrap = wdFindContinue
80 .MatchWildcards = True
90 .Format = True
100 .Replacement.Highlight = True
110 .Replacement.Text = "\1"
120 .Execute Replace:=wdReplaceAll
130 End With
'蛍光ペンの設定を元に戻す
140 Options.DefaultHighlightColorIndex = myColorIndex
150 Set myRange = Nothing
End Sub
| 固定リンク
「マクロプログラム」カテゴリの記事
- Replace関数の例:右クリックでグーグルに活用してみた。(2009.10.31)
- ユーザーフォームのテキストボックス内で改行文字列を取り出す(その3)(2009.10.25)
- ワードの下付き文字の書式情報をテキスト情報に変換するマクロ(2009.10.11)
- ユーザーフォームのテキストボックス内で改行文字列を取り出す(その2)(2009.10.10)
- ユーザーフォームのテキストボックス内で改行文字列を取り出す(その1)(2009.09.27)

コメント