文字操作 文字を全角から半角にする

※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。

※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。

Option Explicit


'【構文】

'**********************************
'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 形式の配列を変換する場合
'   代入式を使用してください。


 

 

 

2000年01月01日|[VBサンプルコード]:[文字操作]