String型文字列(Unicode)のテスト 2024/07/31 VBA

Begin

Dim Str As String
Dim Str2 As String

Str = "ab123"
MsgBox Str
' Unicode文字列が入っていた。1文字が2バイト。

’1文字取り出す
    MsgBox Mid(Str, 1, 1) ' "a"
    MsgBox Mid(Str, 2, 1) ' "b"
’試しに2文字取り出す
    MsgBox Mid(Str, 3, 2) ' "12"
’1文字取り出す
    MsgBox Mid(Str, 4, 1) ' "2"
    MsgBox Mid(Str, 5, 1) ' "3"

'1文字目 "a"
    MsgBox Asc( Mid(Str, 1, 1) ) ' 97
    MsgBox "&H" & Hex(Asc( Mid(Str, 1, 1) ) ) ' &H61

    MsgBox AscW( Mid(Str, 1, 1) ) ' 97
    MsgBox "&H" & Hex(AscW( Mid(Str, 1, 1) ) ) ' &H61


'2文字目 "b"
    MsgBox Asc(Mid(Str, 2, 1))    ' 98
    MsgBox "&H" & Hex(Asc(Mid(Str, 2, 1)))    ' &H62

    MsgBox AscW(Mid(Str, 2, 1))    ' 98
    MsgBox "&H" & Hex(AscW(Mid(Str, 2, 1)))    ' &H62


'3文字目 「1」
    MsgBox Asc( Mid(Str, 3, 1) ) ' -32176
    MsgBox "&H" & Hex(Asc( Mid(Str, 3, 1) ) ) ' &H1

    MsgBox AscW( Mid(Str, 3, 1) ) ' -239
    MsgBox "&H" & Hex(Ascw( Mid(Str, 3, 1) ) ) ' &HFF11
' 「1」のUTF16コードは 0xFF11(Hex)

'4文字目 「2」
    MsgBox AscW( Mid(Str, 4, 1) ) ' -238
    MsgBox "&H" & Hex(Ascw( Mid(Str, 4, 1) ) ) ' &HFF12
' 「2」のUTF16コードは 0xFF12(Hex)

'5文字目 「3」
    MsgBox AscW( Mid(Str, 5, 1) ) ' -237
    MsgBox "&H" & Hex(Ascw( Mid(Str, 5, 1) ) ) ' &FF13
' 「3」のUTF16コードは 0xFF13(Hex)


’2バイト取り出す
    MsgBox MidB(Str, 1, 2) ' "a"
    MsgBox MidB(Str, 3, 2) ' "b"
    MsgBox MidB(Str, 5, 2) ' "1"
    MsgBox MidB(Str, 7, 2) ' "2"
    MsgBox MidB(Str, 9, 2) ' "3"


'1文字目 "a"
    MsgBox AscW( MidB(Str, 1, 2) ) ' 97
    MsgBox "&H" & Hex(AscW( MidB(Str, 1, 2) ) ) ' &H61


'2文字目 "b"
    MsgBox AscW( MidB(Str, 3, 2) ) ' 98
    MsgBox "&H" & Hex(AscW( MidB(Str, 3, 2) ) ) ' &H62

'3文字目 「1」
    MsgBox AscW( MidB(Str, 5, 2) ) ' -239
    MsgBox "&H" & Hex(AscW( MidB(Str, 5, 2) ) ) ' &HFF11

'4文字目 「2」
    MsgBox AscW( MidB(Str, 7, 2) ) ' -238
    MsgBox "&H" & Hex(AscW( MidB(Str, 7, 2) ) ) ' &HFF12

'5文字目 「3」
    MsgBox AscW( MidB(Str, 9, 2) ) ' -237
    MsgBox "&H" & Hex(AscW( MidB(Str, 9, 2) ) ) ' &HFF13

End

#テキストエディター
#エディター
冷やかしの「いいね」は断ります!