Freigeben über


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.