文字操作 Len関数の使用例

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

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


'次の例は、Len 関数を使って、文字列の文字数、または変数の保存に必要なバイト数を返します。CustomerRecord を定義する Type...End Type ブロックをクラス モジュール内で記述する場合、このブロックの直前にキーワード Private を付ける必要があります。標準モジュールでは、Type ステートメントでパブリックなユーザー定義型を定義できます。

Type CustomerRecord                ' ユーザー定義型を定義します。
    ID As Integer                    ' この定義は標準モジュール内に記述します。
    Name As String * 10
    Address As String * 30
End Type

Dim Customer As CustomerRecord        ' 変数を宣言します。
Dim MyInt As Integer, MyCur As Currency
Dim MyString, MyLen
MyString = "Hello World"            ' 変数を初期化します。
MyLen = Len(MyInt)                ' 2 を返します。
MyLen = Len(Customer)            ' 42 を返します。
MyLen = Len(MyString)            ' 11 を返します。
MyLen = Len(MyCur)                ' 8 を返します。

'次の例では、LenB 関数とユーザー定義関数 LenMbcs を使用して、指定した文字列のバイト数を返します。32 ビット Windows 用の VBA を使用する場合と、Macintosh用の VBA を使用する場合とでは、返される結果が異なる点に注意してください。

Function LenMbcs(ByVal str As String)
    LenMbcs = LenB(StrConv(str, vbFromUnicode))
End Function

Dim MyString, MyLen
MyString = "ABc"
' "A" と "B" は全角文字で "c" は半角文字です。
MyLen = Len(MyString)
' 文字数として 3 が返されます。
MyLen = LenB(MyString)
' Windows の場合は 6、Macintosh の場合には 5 がバイト数として返されます。
MyLen = LenMbcs(MyString)
' Windows の場合は 5 が返されます。Macintosh の場合は
' Unicode がサポートされていないため、エラーが返されます。

 

 

 

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