【Word VBA】全角数字を半角にするWordマクロ

書類に全角数字と半角数字とが混在すると、統一感が損なわれます。

このマクロを実行して、見た目を美しく整えます。

このマクロでできること

本文中に書かれた全角数字を半角数字に置換します。

修正箇所を黄色の蛍光ペンで着色します。

マクロの解説

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

関連記事

【動画】WordマクロでWordをチューニング!Wordマクロの紹介

トップへ戻る