Instruções de desftype
Utilizado ao nível do módulo para definir o tipo de dados predefinido para variáveis, argumentos transmitidos aos procedimentos e o tipo de retorno para os procedimentos Function e Property Get cujos nomes começam com os carateres especificados.
Sintaxe
DefBoolletterrange, [ letterrange ] . . .DefByteletterrange, [ letterrange ] . . . .DefIntletterrange, [ letterrange ] . . . .DefLngletterrange, [ letterrange ] . . . .DefLngLngletterrange, [ letterrange ] . . . (válido apenas em plataformas de 64 bits) DefLngPtrletterrange, [ letterrange ] . . . .DefCurletterrange, [ letterrange ] . . . .DefSngletterrange, [ letterrange ] . . . .DefDblletterrange, [ letterrange ] . . .DefDecletterrange, [ letterrange ] . . . .DefDateletterrange, [ letterrange ] . . . .DefStrletterrange, [ letterrange ] . . . .DefObjletterrange, [ letterrange ] . . . .DefVarletterrange, [ letterrange ] . . . .
O argumento letterrange necessário tem a seguinte sintaxe: letra1 [ -letra2 ]
Os argumentos letter1 e letter2 especificam o intervalo de nomes para o qual pode definir um tipo de dados predefinido. Cada argumento representa a primeira letra da variável, argumento, procedimento de função ou nome do procedimento Obter Propriedade e pode ser qualquer letra do alfabeto. O caso das cartas em letterrange não é significativo.
Comentários
O nome da instrução determina o tipo de dados.
Declaração | Tipo de dados |
---|---|
DefBool | Boolean |
DefByte | Byte |
DefInt | Integer |
DefLng | Long |
DefLngLng | LongLong (válido apenas em plataformas de 64 bits) |
DefLngPtr | LongPtr |
DefCur | Currency |
DefSng | Single |
DefDbl | Double |
DefDec | Decimal (não suportado atualmente) |
DefDate | Date |
DefStr | String |
DefObj | Object |
DefVar | Variant |
Por exemplo, no fragmento de programa seguinte, Message
está uma variável de cadeia.
DefStr A-Q
. . .
Message = "Out of stack space."
Uma instrução de tipo Def afeta apenas o módulo onde é utilizada. Por exemplo, uma instrução DefInt num módulo afeta apenas o tipo de dados predefinido de variáveis, argumentos transmitidos aos procedimentos e o tipo de retorno para os procedimentos Function e Property Get declarados nesse módulo; o tipo de dados predefinido de variáveis, argumentos e tipos de retorno noutros módulos não é afetado. Se não for explicitamente declarado com uma instrução de tipoDef, o tipo de dados predefinido para todas as variáveis, todos os argumentos, todos os procedimentos de Função e todos os procedimentos Def Get é Variante.
Quando especifica um intervalo de letras, normalmente define o tipo de dados para variáveis que começam com letras nos primeiros 128 carateres do conjunto de carateres. No entanto, quando especifica o intervalo de letras A-Z, define a predefinição para o tipo de dados especificado para todas as variáveis, incluindo variáveis que começam com carateres internacionais da parte expandida do conjunto de carateres (128–255).
Depois de o intervalo A-Z ter sido especificado, não pode redefinir ainda mais as suborganidades de variáveis com instruções do tipoDef. Depois de um intervalo ter sido especificado, se incluir uma letra definida anteriormente noutra instrução de tipoDef, ocorrerá um erro. No entanto, pode especificar explicitamente o tipo de dados de qualquer variável, definida ou não, ao utilizar uma instrução Dim com uma cláusula detipo As.
Por exemplo, pode utilizar o seguinte código ao nível do módulo para definir uma variável como duplo , mesmo que o tipo de dados predefinido seja Número Inteiro.
DefInt A-Z
Dim TaxRate As Double
As instruções de tipoDef não afetam os elementos dos tipos definidos pelo utilizador porque os elementos têm de ser explicitamente declarados.
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.