Len 函数

返回包含字符串中的字符数或存储变量所需的字节数的长整数

语法

Len (字符串 | varname)

Len 函数语法包含以下部分:

Part 说明
string 任何有效的字符串表达式。 如果字符串包含 Null,则返回 Null
varname 任何有效的变量名称。 如果 varname 包含 Null,则返回 Null。 如果 varname变量,则 Len 会像处理 String 一样处理它,并始终返回其包含的字符数。

备注

必须指定且仅指定两个可能的参数中的一个参数。 对于用户定义类型Len 将返回大小,因为它将写入到文件中。

注意

与在双字节字符集 (DBCS) 语言中一样,将 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.

如果 ANSI 用于表示字符串,则第二个示例使用 LenB 和用户定义的函数 (LenMbcs) 返回字符串中的字节字符数。

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 支持和反馈,获取有关如何接收支持和提供反馈的指南。