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