小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

文字を変換する(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あいうえおアイウエオ