StrConv

StrConv関数は引数文字列を指定した文字の種類に変換します。

変換後の文字の種類はVbStrConv列挙型の定数で指定します。その際に定数の組み合わせ(全角→半角、ひらがな→カタカナ、の組み合わせなど)が可能です。

StrConvを使ってShift-JIS換算での文字列のバイト数の取得を行うことが出来ます。

そちらについては「VBAでバイト単位でのLenとMidとLeftとRight」を参照ください。

構文

String 変換する文字列を指定します。
Conversion 変換後の文字の種類をVbStrConv列挙型の定数で指定します。
LocaleID LCIDと呼ばれる国別情報識別子を指定します。省略した場合はシステム設定値になります。日本語の場合は1041になります。世界の各国にIDが付与されています。

VbStrConv列挙型

定数 内容
vbUpperCase 1 大文字に変換します。
vbLowerCase 2 小文字に変換します。
vbProperCase 3 先頭の文字を大文字に変換します。
vbWide 4 半角文字を全角文字に変換します。LocaleIDが中国、韓国、日本の場合のみ利用できます。
vbNarrow 8 全角文字を半角文字に変換します。LocaleIDが中国、韓国、日本の場合のみ利用できます。
vbKatakana 16 ひらがなをカタカナに変換します。LocaleIDが日本の場合のみ利用できます。
vbHiragana 32 カタカナをひらがなに変換します。LocaleIDが日本の場合のみ利用できます。
vbUnicode 64 文字コードをUnicodeに変換します。
vbFromUnicode 128 文字コードをUnicodeからシステム既定の文字コード(ASCII)に変換します。

VbStrConv列挙型の定数の組み合わせ

VbStrConv列挙型の定数は+演算子で組み合わせることが可能です。

ただし、vbKatakana + vbHiragana(カタカナ + ひらがな)のような不正な組み合わせの場合は「実行時エラー ‘5’: プロシージャの呼び出し、または引数が不正です。」のエラーになります。

WindowsでのLocaleIDの設定

StrConv関数のLocaleIDを設定することはほとんどないと思いますが、既定値は以下のWindowsの設定で変更可能です。

Windows 7
コントロールパネル(カテゴリ表示)→「時計、言語、および地域」→「日付、時刻または数値の形式の変更」→「地域と言語」ダイアログ→「形式」タブ

Windows 8、10
コントロールパネル(カテゴリ表示)→「日付、時刻、または数値の形式の変更」→「地域」ダイアログ→「形式」タブ

サンプルコード

ひらがなを半角カタカナに変換するサンプルです。

実行結果