Sumário

# Função TypeName; Função VarType

Retorna um texto ou um valor numérico que contém informações de tipo para uma variável.

### Sintaxe:

      TypeName (Varname As Variant) As String
      VarType (Varname As Variant) As Integer

### Tipo de retorno:

- Um texto para TypeName, e com sufixo '()' caso seja um array.

- Um inteiro para VarType. Adiciona-se 8192 ao valor retornadopara vetores do tipo VarType.

### Parâmetros:

NomeVar: O nome da variável cujo tipo deseja determinar.

Os seguintes valores são retornados:

Valores para TypeName | Constante nomeada | VarType values | Tipo de variável
--- | --- | --- | ---
…() | 8192 | Array de variáveis
Boolean | 11 | Variável Boolean
Byte | 17 | Variável Byte
Date | V_DATE | 7 | Variável Date
Currency | V_CURRENCY | 6 | Variável Currency
Double | V_DOUBLE | 5 | Variável de ponto flutuante de precisão dupla
Error | 11 | Variável de tipo Erro
Integer | V_INTEGER | 2 | Variável Integer
Long | V_LONG | 3 | Variável inteira Long
Object | 9 | Variável Object
Single | V_SINGLE | 4 | Variável de ponto flutuante de precisão simples
String | V_STRING | 8 | Variável String
Variant | 12 | Variável Variant (pode conter todos os tipos especificados pela definição)
Empty | V_EMPTY | 0 | Variável Variant não inicializada
Null | V_NULL | 1 | Sem dados válidos

### Códigos de erro:

5 Chamada de procedimento inválida

### Exemplo:

      Sub TypeName_VarType_example
        Const __Object=9, __Error=10, __Boolean=11, __Variant=12, __Byte=17, _
          __Array = 8192, aText = "Lorem ipsum dolor sit amet, consectetur …"
        Dim int16 As Integer,  int32() As Long   ' V_INTEGER,  V_LONG
        Dim flt32!,            flt64() As Double ' V_SINGLE,   V_DOUBLE
        Dim curr@,             dat3 As Date      ' V_CURRENCY, V_DATE
        Dim strng() As String, objct() As Object ' V_STRING,   …
        Dim bool As Boolean,   unkwn(), byt3 As Byte ' …,      V_EMPTY, …
        Dim table(-3 To 5)
        MsgBox _
         TypeName(int16) &" "& Vartype(int16) &" "& V_INTEGER        &" "& Chr(13) &_
         TypeName(int32) &" "& Vartype(int32) &" "& V_LONG+__Array   &" "& Chr(13) &_
         TypeName(flt32) &" "& VarType(flt32) &" "& V_SINGLE         &" "& Chr(13) &_
         TypeName(flt64) &" "& VarType(flt64) &" "& V_DOUBLE+__Array &" "& Chr(13) &_
         TypeName(dat3)  &" "& VarType(dat3)  &" "& V_DATE           &" "& Chr(13) &_
         TypeName(curr)  &" "& VarType(curr)  &" "& V_CURRENCY       &" "& Chr(13) &_
         TypeName(atext) &" "& VarType(aText) &" "& V_STRING         &" "& Chr(13) &_
         TypeName(strng) &" "& VarType(strng) &" "& V_STRING+__Array &" "& Chr(13) &_
         TypeName(objct) &" "& VarType(objct) &" "& __Object+__Array &" "& Chr(13) &_
         TypeName(unkwn) &" "& VarType(unkwn) &" "& V_EMPTY          &" "& Chr(13) &_
         TypeName(bool)  &" "& VarType(bool)  &" "& __Boolean        &" "& Chr(13) &_
         TypeName(varnt) &" "& VarType(varnt) &" "& V_EMPTY          &" "& Chr(13) &_
         TypeName(table) &" "& VarType(table) &" "&__Variant+__Array &" "& Chr(13) &_
         TypeName(byt3)  &" "& VarType(byt3)  &" "& __Byte           _
         ,, "Tipos de dados no LibreOffice Basic"
        Msgbox "TypeName(table): "&TypeName(table) &Chr(13)& _
          "VarType(table)="&Vartype(table) _
          ,,"Array de valores Variant"
      End Sub ' TypeName_VarType_example

Tópicos relacionados

Instrução Const

Declaração Dim

Função MsgBox