Fonction Len
Renvoie un Long contenant le nombre de caractères d’une chaîne ou le nombre d’octets requis pour stocker une variable.
Syntaxe
Len(string | varname)
La syntaxe de la fonction Len comprend les éléments suivants :
Élément | Description |
---|---|
chaîne | Toute expression de chaînevalide. Si chaîne contient Null, Null est renvoyée. |
varname | Tout nom variablevalide. Si varname contient Null, Null est renvoyée. Si varname est unevariante, Len la traite comme unechaîne et renvoie toujours le nombre de caractères qu’elle contient. |
Remarques
Un (et un seul) sur les deux arguments possibles doit être spécifié. Avec lestypes définis par l’utilisateur, Len renvoie la taille comme elle sera écrite vers le fichier.
Remarque
Utilisez la fonction LenB avec des données octets contenues dans une chaîne, comme dans les ensembles de langues à caractères sur deux octets (DBCS). Au lieu de renvoyer le nombre de caractères dans une chaîne, LenB renvoie le nombre d’octets utilisés pour représenter cette chaîne. Avec des données de type défini par l'utilisateur, la fonction LenB retourne la quantité de mémoire requise, en tenant compte d'un éventuel remplissage entre les éléments. Pour illustrer le code utilisant la fonction LenB, reportez-vous au second exemple de la rubrique d'exemple.
Remarque
Len peut ne pas être en mesure de déterminer le nombre réel d’octets de stockage requis lors de l’utilisation de chaînes de longueur variable dans les types de donnéesdéfinis par l’utilisateur.
Exemple
Le premier exemple utilise Len pour renvoyer le nombre de caractères d’une chaîne ou le nombre d’octets requis pour stocker une variable. Le blocType... End Type définissant CustomerRecord
doit être précédé du mot clé Privé s’il apparaît dans un module de classe. Dans un module standard, une instruction Type peut être de 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.
Ce second exemple utilise la fonction LenB et une fonction définie par l’utilisateur (LenMbcs) le nombre d’octets (caractères) dans une chaîne, à condition qu’ANSI soit utilisé pour le codage de la chaîne.
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.
Voir aussi
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.