【Word VBA】選択された文字列が全角か半角かを判定する

2016年3月9日

先日の記事「【Word】文字列が半角か全角かを確認する 」で、ステータスバーの表示を見て文字列が半角か全角かを判定する方法を紹介しました。

今回の記事では、マクロを使って選択されている文字列が全角か半角かを調べます。

▼このマクロでできること

文字列を選択した状態でマクロを実行します。すると、選択されている文字列の全角、半角をメッセージボックスで表示します。

▼マクロの解説

文字列が選択されているか否かの判定には、いつもの定型句を使います。

If Selection.Type = wdSelectionIP Then Exit Sub

SelectionオブジェクトTypeプロパティで、カーソルの状態を調べます。

文字列が選択されていない状態(wdSelectionIP )の場合、終了(Exit Sub)します。

文字列が選択されている場合には、CharacterWidthプロパティを使用して、選択されている文字列の全角・半角の判定をします。

選択範囲に全角と半角が混在しているときには判定ができないため、9999999という値を返します。これはwdUndefinedを意味しています。

▼マクロ

Sub 全角半角の判定()

If Selection.Type = wdSelectionIP Then Exit Sub

Select Case Selection.Range.CharacterWidth
Case wdWidthFullWidth
MsgBox "全角です。", vbInformation, "判定結果"

Case wdWidthHalfWidth
MsgBox "半角です。", vbInformation, "判定結果"

Case wdUndefined
MsgBox "全角と半角が混在しています。", vbInformation, "判定結果"
End Select

End Sub

▼関連記事

【Word】文字列が半角か全角かを確認する

-コード