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.