文字列の長さを得る |
文字列全体の文字数を得る | |
構文 対象となる文字列の文字数=Len("対象となる文字列") 例 logValue = Len("ABCEF") ’logValue には[5]が入る logValue = Len("AB琵琶湖") ’logValue には[5]が入る このように全角・半角に関わらず文字数がカウントされる。 |
|
文字列全体のバイト数を得る | |
構文 対象となる文字列のバイト数=Len("対象となる文字列") 例 logValue = LenB("ABCEF") ’logValue には[10]が入る logValue = LenB("AB琵琶湖") ’logValue には[10]が入る このように全角・半角に関わらずバイト(文字数×2)がカウントされる。 |
|
ANSI(旧Basic・シフトJIS)流文字列長を得る (028) | |
例 Private Sub Command1_Click() 'ANSI流文字列長を得る Dim lngValue1 As Long Dim lngValue2 As Long Text1.Text = "AB琵琶湖" Text2.Text = "ABCDE" 'vbFromUnicode(128) 文字列を Unicode からシステムの既定の 'コードページに変換します。 'StrConv関数でvbFromUnicodeに変換しそれをバイト数(LenB)で取得 lngValue1 = LenB(StrConv(Text1.Text, vbFromUnicode)) lngValue2 = LenB(StrConv(Text2.Text, vbFromUnicode)) Label1.Caption = "Text1 の文字列長は= " & lngValue1 & " です。" Label2.Caption = "Text2 の文字列長は= " & lngValue2 & " です。" End Sub lngValue1 = 8 lngValue2 = 5 が入る このように全角=2 半角=1 がカウントされる。 ※ 半角・全角が混在している場合の文字列の実長さ(寸法)等を取得する場合便利 |
|
参考 | |
Private Function fLenA(ByVal Mystring As String) As Long 'ANSI流文字列長を得るを関数化すると fLenA = LenB(StrConv(Mystring, vbFromUnicode)) End Function '関数化した場合の使用例 lngValue1 = fLenA(Text1.Text) |
01/12/31