文字を変換する(StrConv)
VBA(.NETでもあるけど)では、文字を変換する際、普通ストラコンブ(StrConv)を使います。
StrConvは、『大文字/小文字変換』や『半角/全角変換』や『ひらがな/カタカナ変換』等を行います。
◆構文
StrConv(変換する文字列, 変換指定定数)
リターン値は、変換された文字列が返ります。
◆変換指定定数
定数 | 値 | 内容 |
---|---|---|
vbUpperCase | 1 | 文字列を大文字に変換 |
vbLowerCase | 2 | 文字列を小文字に変換 |
vbProperCase | 3 | 文字列の各単語の先頭の文字を大文字に変換 |
vbWide | 4 | 文字列内の半角文字を全角文字に変換 |
vbNarrow | 8 | 文字列内の全角文字を半角文字に変換 |
vbKatakana | 16 | 文字列内のひらがなをカタカナに変換 |
vbHiragana | 32 | 文字列内のカタカナをひらがなに変換 |
vbUnicode | 64 | システムの既定のコードページ(普通シフトJIS)を使用して、文字列を Unicodeに変換 |
vbFromUnicode | 128 | 文字列を Unicode からシステムの既定のコードページ(普通シフトJIS)に変換 |
vbWideとvbNarrowは、東アジアに適用され、vbKatakanaとvbHiraganaは、日本にのみ適用されます。
◆サンプルソース
Sub StrConv_Sample() Dim str As String str = "abcABCabcABCあいうえおアイウエオ" Debug.Print StrConv(str, vbUpperCase) Debug.Print StrConv(str, vbLowerCase) Debug.Print StrConv(str, vbProperCase) Debug.Print StrConv(str, vbWide) Debug.Print StrConv(str, vbNarrow) Debug.Print StrConv(str, vbKatakana) Debug.Print StrConv(str, vbHiragana) Dim i As Integer Dim x() As Byte x = StrConv(str, vbFromUnicode) For i = 0 To UBound(x) Debug.Print x(i) Next Debug.Print StrConv(x, vbUnicode) End Sub
◆サンプル実行結果
ABCABCABCABCあいうえおアイウエオ abcabcabcabcあいうえおアイウエオ Abcabcabcabcあいうえおアイウエオ abcABCabcABCあいうえおアイウエオ abcABCabcABCあいうえおアイウエオ abcABCabcABCアイウエオアイウエオ abcABCabcABCあいうえおあいうえお 97 98 99 65 66 67 130 129 130 130 130 131 130 96 130 97 130 98 130 160 130 162 130 164 130 166 130 168 131 65 131 67 131 69 131 71 131 73 abcABCabcABCあいうえおアイウエオ