書類に全角数字と半角数字とが混在すると、統一感が損なわれます。
このマクロを実行して、見た目を美しく整えます。
<目次>
このマクロでできること
本文中に書かれた全角数字を半角数字に置換します。
修正箇所を黄色の蛍光ペンで着色します。
マクロの解説
8行目と11行目で、現在の蛍光ペンの色を保存し、置換用に一時的に黄色の蛍光ペンを設定しています。
処理後、元の蛍光ペンの色に戻しています。
数字の置換には、カウンター変数を用いました。
18行目~38行目のループで、0から9までを順番に置換しています。
21行目で、検索する文字列に全角数字を設定しています。
マクロ
Sub 全角数字を半角にする() Dim i As Integer Dim myRange As Range '検索用のRangeオブジェクト Dim myColor As Integer '蛍光ペンの色 '現在の蛍光ペンの色を保存 myColor = Options.DefaultHighlightColorIndex '蛍光ペンの色を黄色に設定 Options.DefaultHighlightColorIndex = wdYellow '画面更新をオフ Application.ScreenUpdating = False Set myRange = ActiveDocument.Range(0, 0) For i = 0 To 9 With myRange.Find .Text = StrConv(i, vbWide) '検索する文字列 .Replacement.Text = i '置換後の文字列 .Replacement.Highlight = True '置換後の文字列の蛍光ペンをオン .Forward = True .Wrap = wdFindStop .Format = True '書式の設定をオン .MatchCase = False '大文字と小文字の区別する .MatchWholeWord = False '完全に一致する単語だけを検索する .MatchAllWordForms = False '英単語の異なる活用形を検索する .MatchSoundsLike = False 'あいまい検索(英) .MatchFuzzy = False 'あいまい検索(日) .MatchWildcards = False 'ワイルドカードを使用する .MatchByte = True '半角と全角を区別する .Execute Replace:=wdReplaceAll DoEvents End With Next i '蛍光ペンの色を元に戻す Options.DefaultHighlightColorIndex = myColor '画面更新をオン Application.ScreenUpdating = True 'myRangeを解放 Set myRange = Nothing End Sub