Função Compr

Nota: Queremos fornecer-lhe os conteúdos de ajuda mais recentes o mais rapidamente possível e no seu idioma. 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 informar-nos se as informações foram úteis no final desta página? Eis o artigo em inglês para referência.

Devolve um valor 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

Núm. carat ( cadeia | nomevar)

A sintaxe da função Núm. carat tem os seguintes argumentos:

Argumento

Descrição

cadeia

Qualquer expressão de cadeia válida. Se cadeia contiver Null, é devolvido nulo.

nomevar

Qualquer nome válido variável. Se nomevar contiver Null, é devolvido nulo. Se nomevar for uma variante, Núm. carat trata-o a mesma como uma cadeia e devolve o número de carateres contém sempre.


Observações

Um (e apenas um) de dois argumentos possíveis tem de ser especificado. Com os tipos de definidas pelo utilizador, Núm. Caract devolve o tamanho à medida que vai ser escrito para o ficheiro.

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

Nota: Núm. carat poderá não conseguir determinar o número real de bytes de armazenamento necessários quando utilizado com cadeias de comprimento variável em tipos de dados definidos pelo utilizador.

Exemplo

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 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 Núm. carat para devolver o número de carateres de uma cadeia ou o número de bytes necessários para armazenar uma variável. O tipo de ... Tipo de fim bloco que define CustomerRecord tem de ser precedido por palavra-chave privada se for apresentada num módulo de classe. Num módulo padrão, uma instrução tipo pode ser público.

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 Núm. CARACTB e uma função definida pelo utilizador (LenMbcs) para devolver o número de carateres de byte numa cadeia de se ANSI é 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.
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.

×