Функция Len

Возвращает элемент Long, содержащий число символов в стоке или число байтов, необходимое для хранения переменной.

Синтаксис

Len(string | varname)

Синтаксис функции Len состоит из следующих элементов:

Part Описание
строка Любое допустимое строковое выражение. Если строка содержит значение NULL, возвращается NULL.
varname Любое допустимое имя переменной. Если varname содержит Null, возвращается Null. Если varname — Variant, функция Len обрабатывает этот элемент так же, как String, и всегда возвращает число символов, которые он содержит.

Примечания

Должен быть указан один (и только один) из двух возможных аргументов. При использовании с определяемыми пользователем типами функция Len возвращает размер в том виде, в котором он будет записан в файл.

Примечание.

Используйте функцию LenB с байтовыми данными, содержащимися в строке, как в языках с двухбайтовой кодировкой. Вместо числа символов в строке функция LenB возвращает число байтов, используемых для представления этой строки. При использовании с определяемыми пользователем типами функция LenB возвращает размер внутренней памяти, включая любое заполнение между элементами. Пример кода, использующего LenB, см. во втором примере в разделе примеров.

Примечание.

Len может не определить фактическое число байтов хранилища, необходимых при использовании со строками переменной длины в определяемых пользователем типах данных.

Пример

В первом примере используется 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.

Во втором примере используется LenB и определяемая пользователем функция (LenMbcs) для возвращения символов кодировки в строке, если ANSI используется для представления строки.

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 и обратная связь.