Compartilhar via


Função Len

Retorna um Long que contém o número de caracteres em uma cadeia de caracteres ou o número de bytes necessários para armazenar uma variável.

Sintaxe

Len(string | varname)

A sintaxe da função Len tem estas partes:

Sair Descrição
cadeia de caracteres Qualquer expressão de cadeia de caracteres válida. Se a cadeia de caracteres contiver Null, Null será retornado.
nomedavariável Qualquer nome de variável válido. Se varname contiver Null, Null será retornado. Se varname for uma Variant, Len o tratará da mesma forma que uma Cadeia de Caracteres e sempre retornará o número de caracteres que ele contém.

Comentários

Um (e apenas um) dos dois argumentos possíveis deve ser especificado. Com tipos definidos pelo usuário, Len retorna o tamanho, pois ele será gravado no arquivo.

Observação

Use a função LenB com dados de bytes contidos em uma cadeia de caracteres, como em idiomas DBCS (conjunto de caracteres de byte duplo). Em vez de retornar o número de caracteres em uma cadeia de caracteres, LenB retorna o número de bytes usados para representar essa cadeia de caracteres. Com tipos definidos pelo usuário, o LenB retorna o tamanho na memória, incluindo qualquer preenchimento entre elementos. Para obter o código de exemplo que usa o LenB, consulte o segundo exemplo no tópico de exemplo.

Observação

Len pode não ser capaz de determinar o número real de bytes de armazenamento necessários quando usados com cadeias de caracteres de comprimento variável em tipos de dados definidos pelo usuário.

Exemplo

O primeiro exemplo usa Len para retornar o número de caracteres em uma cadeia de caracteres ou o número de bytes necessários para armazenar uma variável. O Tipo... A definição CustomerRecord do bloco de tipo final deve ser precedida pela palavra-chave Private se ela aparecer em um módulo de classe. Em um módulo padrão, uma instrução Type pode ser Pública.

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.

O segundo exemplo usa LenB e uma função definida pelo usuário (LenMbcs) para retornar o número de caracteres de bytes em uma cadeia de caracteres se ANSI for usado para representar a cadeia de caracteres.

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.

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.