Функция Len
Возвращает элемент Long, содержащий число символов в стоке или число байтов, необходимое для хранения переменной.
Синтаксис
Len(string | varname)
Синтаксис функции Len состоит из следующих элементов:
Part | Описание |
---|---|
строка | Любое допустимое строковое выражение. Если строка содержит значение NULL, возвращается NULL. |
варнаме | Любое допустимое имя переменной. Если 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 и обратная связь.