Функция Len

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

Синтаксис

Len(string | varname)

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

Part Описание
строка Любое допустимое строковое выражение. Если строка содержит значение NULL, возвращается NULL.
варнаме Любое допустимое имя переменной. Если varname содержит Null, возвращается Null. Если varnameVariant, функция 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 и обратная связь.