Len 函數
會傳回 Long ,其中包含字串中的字元數或儲存 變數所需的位元組數目。
語法
Len (字串 | varname)
Len函式語法具有下列部分:
部分 | 描述 |
---|---|
string | 任何有效的 字串運算式。 如果字串包含 Null,則傳回 Null。 |
varname | 任何有效的 變數 名稱。 如果 varname 包含 Null,則會 傳回 Null 。 如果 varname 是 Variant, Len 會將它視為 String ,並一律傳回其包含的字元數。 |
註解
必須指定一個 (,而且只能指定兩 個可能自 變數的一個) 。 使用 使用者定義型別時, Len 會傳回將寫入檔案的大小。
注意事項
使用 LenB 函式搭配包含在字串中的位元組資料,如同在 DBCS) 語言 (雙位元組字元集一樣。 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 支援與意見反應。