Função Compr

Devolve um longo que contém o número de carateres numa cadeia ou o número de bytes necessários para armazenar uma variável.

Sintaxe

Compr ( cadeia | VarName)

A sintaxe da função Len tem os seguintes argumentos:

Argumento

Descrição

cadeia

Qualquer expressão de cadeia válida. Se a cadeia contiver Nulo, Nulo é devolvido.

nomevar

Qualquer nome de variável válido. Se o VarName contiver nulo, é devolvido NULL. Se VarName for uma variante, comp ... trata-se da mesma forma que uma cadeia de caracteres e devolve sempre o número de carateres que contém.

Observações

É necessário especificar um (e apenas um) dos dois argumentos possíveis. Com os tipos definidos pelo utilizador, Len devolve o tamanho tal como será escrito no ficheiro.

Nota:  Utilize a função caratb com dados de byte contidos numa cadeia, como em idiomas conjuntos de carateres de byte duplo (DBCS). Em vez de devolver o número de carateres numa cadeia, caratb devolve o número de bytes utilizado para representar essa cadeia. Com os tipos definidos pelo utilizador, o caratb devolve o tamanho na memória, incluindo qualquer preenchimento entre os elementos. Para obter o código de exemplo que utiliza o caratb, consulte o segundo exemplo no tópico de exemplo.

Nota: Os compres podem não conseguir determinar o número real de bytes de armazenamento necessários quando utilizados com cadeias de comprimento variável em tipos de dados definidos pelo utilizador.

Exemplo de consulta

Expressão

Resultados

Selecione CódigoDoProduto, Len (CódigoDoProduto) como ProductLen a partir de ProductSales;

Devolve os valores do campo "CódigoDoProduto" e o comprimento dos valores na coluna ProductLen.

Exemplos de VBA

Nota: Os exemplos seguintes demonstram a utilização desta função no módulo VBA (Visual Basic for Applications). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência para Programadores na lista pendente junto a Procurar e introduza um ou mais termos na caixa de pesquisa.

O primeiro exemplo utiliza Len para devolver o número de carateres numa cadeia de caracteres ou o número de bytes necessários para armazenar uma variável. O tipo... Bloco tipo end a definição de CustomerRecord tem de ser precedida pela palavra-chave Private se for apresentada num módulo de turma. Num 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 utiliza caratb e uma função definida pelo utilizador (LenMbcs) para devolver o número de carateres de byte numa cadeia se ANSI for utilizado para representar a cadeia.

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.

Nota:  Esta página foi traduzida automaticamente e pode conter erros gramaticais ou imprecisões. O nosso objetivo é que estes conteúdos lhe sejam úteis. Pode indicar-nos se estas informações foram úteis? Eis o artigo em inglês para sua referência.​

Consulte Também

As funções de cadeia e como utilizá-las

Aumente os seus conhecimentos do Office
Explore as formações
Seja o primeiro a obter novas funcionalidades
Adira ao Office Insider

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×