Word文書を瞬時に整形!英数字記号半角・カタカナ全角に統一するマクロの使い方
日本語のWord文書で英数字記号を半角に、カタカナを全角に統一するのは面倒な作業です。今回は、その作業を効率化するためのVBAマクロの紹介と使い方を解説します。
1. マクロのコード
以下のコードをコピーし、WordのVBAエディタ(Alt+F11)の標準モジュール(挿入→標準モジュール)に貼り付けてください。
ただしこのプログラムはそれほど速くはありませんので、長文に対して実行する際は注意してください。
Sub StandardizeJapaneseDocument()
Dim rng As Range
Dim i As Long
For i = 1 To ActiveDocument.Range.Characters.Count
Set rng = ActiveDocument.Range.Characters(i)
' 全角英数字および記号を半角に変換
If AscW(rng.Text) >= &HFF01 And AscW(rng.Text) <= &HFF5E Then
rng.Text = StrConv(rng.Text, vbNarrow)
' 半角カタカナおよび濁音・半濁音を全角に変換
ElseIf AscW(rng.Text) >= &HFF61 And AscW(rng.Text) <= &HFF9F Then
If AscW(rng.Text) >= &HFF66 And AscW(rng.Text) <= &HFF9D Then '半角カタカナの場合
If i < ActiveDocument.Range.Characters.Count And (AscW(ActiveDocument.Range.Characters(i + 1).Text) = &HFF9E Or AscW(ActiveDocument.Range.Characters(i + 1).Text) = &HFF9F) Then
rng.Text = StrConv(rng.Text & ActiveDocument.Range.Characters(i + 1).Text, vbWide)
ActiveDocument.Range.Characters(i + 1).Delete
i = i - 1 ' 文字を削除したため、カウンタをデクリメント
Else
rng.Text = StrConv(rng.Text, vbWide)
End If
End If
End If
If i >= ActiveDocument.Range.Characters.Count Then Exit For ' 文字数が減ったため、範囲を超えないようにループを終了
Next i
End Sub
2. マクロの使い方
このプログラムはそれほど速くはありませんので、長文に対して実行する際は注意してください。
- WordのVBAエディタを開きます。(Alt+F11)
- 新しい標準モジュールを作成し、先ほどのコードを貼り付けます。(挿入→標準モジュール)
- エディタを閉じて、Wordの文書に戻ります。
- 整形したい文書を開いて、[Alt] + [F8] キーを押してマクロのダイアログボックスを開きます。
- 「StandardizeJapaneseDocument」マクロを選択し、[実行] ボタンをクリックします。
- 英数字記号が半角に、カタカナが全角に変換された文書が表示されます。
3. まとめ
このマクロを使用することで、Word文書内の英数字記号を半角に、カタカナを全角に統一することができます。手作業で一つ一つ変換する手間が省け、効率的に文書整形を行うことができます。ぜひ活用して、Word文書作成の効率を向上させましょう。
コメント