Len-Funktion
Gibt Long mit der Anzahl der Zeichen in einer Zeichenfolge oder der Anzahl der erforderlichen Bytes zum Speichern einer Variablen zurück.
Syntax
Len(string | varname)
Die Syntax der Len-Funktion besteht aus den folgenden Teilen:
Teil | Beschreibung |
---|---|
Zeichenfolge | Ein beliebiger gültiger Zeichenfolgenausdruck. Wenn stringNull enthält, wird Null zurückgegeben. |
varname | Ein beliebiger gültiger Variablenname. Wenn varnameNull enthält, wird Null zurückgegeben. Wenn varname eine Variante ist, wird diese von Len genauso behandelt wie eine Zeichenfolge und es wird immer die Anzahl der enthaltenen Zeichen zurückgegeben. |
Hinweise
Eines (und nur eines) der zwei möglichen Argumente muss angegeben werden. Bei benutzerdefinierte Typen gibt Len die Größe zurück, die in die Datei geschrieben wird.
Hinweis
Verwenden Sie die LenB-Funktion mit Bytedaten, die in einer Zeichenfolge enthalten sind, wie in Sprachen mit Doppelbyte-Zeichenfolgen (DBCS). Anstelle der Anzahl von Zeichen in einer Zeichenfolge gibt LenB die Anzahl von Bytes zurück, die zur Darstellung dieser Zeichenfolge verwendet werden. Bei benutzerdefinierten Typen gibt LenB die Größe im Arbeitsspeicher, einschließlich der Füllzeichen zwischen Elementen zurück. Beispielcode, der LenB verwendet, finden Sie im zweiten Beispiel im Beispielthema.
Hinweis
Mit Len kann möglicherweise nicht die tatsächliche Anzahl der erforderlichen Speicherbytes ermittelt werden, wenn Zeichenfolgen mit variabler Länge in benutzerdefinierten Datentypen verwendet werden.
Beispiel
Im ersten Beispiel wird Len verwendet, um die Anzahl der Zeichen in einer Zeichenfolge oder die Anzahl der erforderlichen Bytes zum Speichern einer Variablen zurückzugeben. Der Type...End Type-Block zur Definition von CustomerRecord
muss bei der Anzeige in einem klassischen Modul mit dem Schlüsselwort Private beginnen. In einem Standardmodul kann die Type-Anweisung Public sein.
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.
Im zweiten Beispiel wird mit LenB und einer benutzerdefinierten Funktion (LenMbcs) die Anzahl von Bytezeichen in einer Zeichenfolge zurückgegeben, wenn diese mit ANSI dargestellt wird.
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.
Siehe auch
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.