Len 関数
文字列の文字数、または変数の格納に必要なバイト数を含む長整数型 (Long) を返します。
構文
Len(string | varname)
Len 関数の構文には、次の指定項目があります。
パーツ | 説明 |
---|---|
string | 任意の有効な文字列式を指定します。 string に Null が含まれている場合は、Null が返されます。 |
varname | 有効な変数の名前を指定します。 varname に Null が含まれている場合は、Null を返します。 varname がバリアント型 (Variant) であれば、Len はこれを文字列型 (String) として処理し、常にその文字数を返します。 |
注釈
使用可能な 2 つの引数の 1 つだけを指定する必要があります。 ユーザー定義型を使用すると、Len 関数は、ファイルに書き込まれるデータのサイズを返します。
注:
2 バイト文字セット (DBCS) 言語のように、LenB 関数で文字列に含まれるバイト データを使用します。 LenB 関数は、文字列の文字数ではなく、その文字列を表すバイト数を返します。 ユーザー定義型を使用すると、LenB 関数は、要素間の間隔を含むメモリ内のサイズを返します。 LenB 関数を使用するサンプル コードについては、トピックの 2 番目の例を参照してください。
注:
Len 関数は、ユーザー定義型のデータ型に可変長文字列が指定されると、必要な領域の実際のバイト数を判断できない場合があります。
例
1 番目の例では、Len 関数を使用して、文字列の文字数または変数の格納に必要なバイト数を返します。 を定義する CustomerRecord
ブロックをクラス モジュールに記述する場合は、その前にキーワード Private を指定する必要があります。 標準モジュールでは、Type ステートメントを Public にすることができます。
Type CustomerRecord ' Define user-defined type.
ID As Integer ' Place this definition in a
Name As String * 10 ' standard module.
Address As String * 30
End Type
Dim Customer As CustomerRecord ' Declare variables.
Dim MyInt As Integer, MyCur As Currency
Dim MyString, MyLen
MyString = "Hello World" ' Initialize variable.
MyLen = Len(MyInt) ' Returns 2.
MyLen = Len(Customer) ' Returns 42.
MyLen = Len(MyString) ' Returns 11.
MyLen = Len(MyCur) ' Returns 8.
2 番目の例では、文字列の表示に ANSI が使用されている場合、LenB 関数とユーザー定義関数 (LenMbcs) を使用して、文字列のバイト数を返します。
Function LenMbcs (ByVal str as String)
LenMbcs = LenB(StrConv(str, vbFromUnicode))
End Function
Dim MyString, MyLen
MyString = "ABc"
' Where "A" and "B" are DBCS and "c" is SBCS.
MyLen = Len(MyString)
' Returns 3 - 3 characters in the string.
MyLen = LenB(MyString)
' Returns 6 - 6 bytes used for Unicode.
MyLen = LenMbcs(MyString)
' Returns 5 - 5 bytes used for ANSI.
関連項目
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。