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.