文字操作 文字列変換StrConv関数
※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。
※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。
'【構文】 '********************************** 'StrConv(string, conversion, LCID) '********************************** ' string ' 必ず指定します。変換する文字列式を指定します。 ' ' Conversion ' 必ず指定します。整数型 (Integer) の値を指定します。 ' 実行する変換の種類の値の合計を指定します。 ' ' LCID ' 省略可能です。 ' システムとは異なる国別情報識別子 (LCID) を指定できます。 ' 既定値はシステムが使用する LCID です。 ' '【設定値】 ' '定数 vbUpperCase 1 ' 文字列を大文字に変換します。 Sub TestvbUpperCase() Dim str As String str = "12345abcdef" MsgBox StrConv(str, vbUpperCase) Debug.Print StrConv(str, 1) '結果[ 12345ABCDEF ] End Sub ' '定数 vbLowerCase 2 ' 文字列を小文字に変換します。 Sub TestvbLowerCase() Dim str As String str = "12345ABCDEF" MsgBox StrConv(str, vbLowerCase) Debug.Print StrConv(str, 2) '結果[ 12345abcdef ] End Sub ' '定数 vbProperCase 3 ' 文字列の各単語の先頭の文字を大文字に変換します。 Sub TestvbProperCase() Dim str As String str = "abcdef" MsgBox StrConv(str, vbProperCase) Debug.Print StrConv(str, 3) '結果[ Abcdef ] End Sub ' '定数 vbWide 4 ' 文字列内の半角文字(1byte)を全角文字(2byte)に変換します。 Sub TestvbWide() Dim str As String str = "12345abcdefABCDEF" MsgBox StrConv(str, vbWide) Debug.Print StrConv(str, 4) '結果[ 12345abcdefABCDEF ] End Sub ' '定数 vbNarrow 8 ' 文字列内の全角文字(2byte)を半角文字(1byte)に変換します。 Sub TestvbNarrow() Dim str As String str = "12345abcdefABCDEF" MsgBox StrConv(str, vbNarrow) Debug.Print StrConv(str, 8) '結果[ 12345abcdefABCDEF ] End Sub ' '定数 vbKatakana 16 ' 文字列内のひらがなをカタカナに変換します。 Sub TestvbKatakana() Dim str As String str = "ひらがな" MsgBox StrConv(str, vbKatakana) Debug.Print StrConv(str, 16) '結果[ ヒラガナ ] End Sub ' '定数 vbHiragana 32 ' 文字列内のカタカナをひらがなに変換します。 Sub TestvbHiragana() Dim str As String str = "ヒラガナ" MsgBox StrConv(str, vbHiragana) Debug.Print StrConv(str, 32) '結果[ ひらがな ] End Sub ' '定数 vbUnicode 64 ' システムの既定のコード ページを使って文字列を Unicode に変換します。 ' Macintosh. では使用できません Sub TestvbUnicode() Dim str As String str = "aあ" MsgBox LenB(StrConv(str, vbUnicode)) Debug.Print LenB(StrConv(str, 64)) '結果[ 8 ] End Sub ' '定数 vbFromUnicode 128 ' 文字列を Unicode からシステムの既定のコード ページに変換します。 ' Macintosh. では使用できません Sub TestvbFromUnicode() Dim str As String str = "aあ" MsgBox LenB(StrConv(str, vbFromUnicode)) Debug.Print LenB(StrConv(str, 128)) '結果[ 3 ] End Sub ' '【メモ】 ' '大文字/小文字を正しく区別する単語セパレータ ' Null 値 (Chr$(0)) ' 水平タブ (Chr$(9)) ' ライン フィード (Chr$(10)) ' 垂直タブ (Chr$(11)) ' フォーム フィード (Chr$(12)) ' キャリッジ リターン (Chr$(13)) ' およびスペース (SBCS の場合) (Chr$(32)) ' ※DBCS のスペースの実際の値は、国によって異なります。 ' '【解説】 ' 'ANSI 形式のバイト型配列を文字列に変換する場合 ' StrConv 関数を使用してください。 'Unicode 形式の配列を変換する場合 ' 代入式を使用してください。 |