Vrátí hodnotu typu Long (Typ dat Long: Základní typ dat pro ukládání velkých celých čísel. Proměnná typu Long je uložena jako 32bitové číslo v rozmezí od -2 147 483 648 do 2 147 483 647.)
obsahující počet znaků v řetězci nebo počet bajtů potřebných pro uložení proměnné (Proměnná: Pojmenované umístění pro ukládání, které může obsahovat data, jež lze během doby spuštění programu změnit. Každá proměnná má název, jež ji v dané úrovni oboru jednoznačně identifikuje. Typ dat může, ale nemusí být zadán.).
Syntaxe
Len(řetězec | název_proměnné)
Syntaxe funkce Len zahrnuje tyto argumenty:
| Argument |
Popis |
| řetězec |
Libovolný platný řetězcový výraz (Řetězcový výraz: Výraz, který je vyhodnocen jako posloupnost sousedících znaků. Prvky výrazu mohou zahrnovat: funkce vracející řetězec nebo řetězec typu Variant (VarType 8), řetězcový literál, konstantu, proměnnou nebo řetězec typu Variant</.). Pokud řetězec obsahuje hodnotu Null (Hodnota Null: Hodnota, kterou můžete zadat do pole nebo ji použit ve výrazech a dotazech a označit tak chybějící nebo neznámá data. V jazyce Visual Basic označuje klíčové slovo Null hodnotu Null. Některá pole, například pole primárního klíče, nemohou obsahovat hodnoty Null.), bude vrácena hodnota Null. |
| název_proměnné |
Libovolný platný název proměnné (Proměnná: Pojmenované umístění pro ukládání, které může obsahovat data, jež lze během doby spuštění programu změnit. Každá proměnná má název, jež ji v dané úrovni oboru jednoznačně identifikuje. Typ dat může, ale nemusí být zadán.).
Pokud název_proměnné obsahuje hodnotu Null (Hodnota Null: Hodnota, kterou můžete zadat do pole nebo ji použit ve výrazech a dotazech a označit tak chybějící nebo neznámá data. V jazyce Visual Basic označuje klíčové slovo Null hodnotu Null. Některá pole, například pole primárního klíče, nemohou obsahovat hodnoty Null.), bude vrácena hodnota Null. Jestliže je název_proměnné Variant (Typ dat Variant: Výchozí typ dat pro proměnné, které neobsahují znaky deklarace typu, není-li aktivní příkaz Deftyp. V proměnné typu Variant mohou být uložena čísla, řetězce, datum a čas nebo hodnoty Null či Empty.), pracuje s ním funkce Len stejně jako s řetězcem a vždy vrátí počet znaků, které obsahuje. |
Poznámky
Musí být zadán pouze jeden ze dvou možných argumentů (Argument: Hodnota, která poskytuje informace určité akci, události, metodě, vlastnosti, funkci nebo proceduře.).
Pro uživatelem definované typy (Uživatelský typ: Libovolný datový typ v jazyce VBA definovaný pomocí příkazu Type. Uživatelské typy mohou obsahovat jeden nebo více prvků libovolných datových typů. K vytváření polí uživatelských i jiných datových typů slouží příkaz Dim.) vrátí funkce Len velikost tak, jak bude zapsána do souboru.
Poznámka: Funkci LenB používejte s daty typu Byte obsaženými v řetězci, například u jazyků používajících dvoubajtové znakové sady (DBCS). Místo vrácení počtu znaků v řetězci vrací funkce LenB počet bajtů použitých k zobrazení tohoto řetězce. V případě uživatelem definovaných typů vrací funkce LenB velikost v paměti, včetně všech oddělovačů mezi prvky. Ukázkový kód používající funkci LenB najdete v druhém příkladu v tématu příkladů.
Poznámka: Funkce Len zřejmě nebude moci určit skutečný počet potřebných bajtů úložiště, bude-li použita u řetězců proměnlivé délky v uživatelem definovaných typech dat.
Příklad
Poznámka: Následující příklady uvádějí použití této funkce v modulu jazyka Visual Basic for Applications (VBA). Další informace o práci s jazykem VBA získáte tak, že klepnete na položku Referenční informace pro vývojáře v rozevíracím seznamu vedle pole Hledat a do pole pro hledání zadáte jeden nebo více pojmů.
První příklad používá funkci Len k vrácení počtu znaků v řetězci nebo počtu bajtů potřebných k uložení proměnné. Před blokem Type...End Type definujícím CustomerRecord musí být zadáno klíčové slovo Private, pokud se vyskytuje v modulu třídy. Ve standardním modulu může mít výraz Type typ 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.
Druhý příklad používá funkci LenB a uživatelem definovanou funkci (LenMbcs) k vrácení počtu jednobajtových znaků v řetězci, pokud je k zobrazení řetězce použita znaková sada 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.