Instrução Type
Utilizado ao nível do módulo para definir um tipo de dados definido pelo utilizador que contém um ou mais elementos.
Sintaxe
[ Privado | Público ] Escrevavarname
-
elementname [ ( [ subscripts ] ) ] Comotipo
[ elementname [ ( [ subscripts ] ) ] Astype ]
. . .
A sintaxe da instrução Tipo tem as seguintes partes:
Sair | Descrição |
---|---|
Public | Opcional. Utilizado para declarar tipos definidos pelo utilizador que estão disponíveis para todos os procedimentos em todos os módulos em todos os projetos. |
Private | Opcional. Utilizado para declarar tipos definidos pelo utilizador que estão disponíveis apenas no módulo em que a declaração é feita. |
nomedavariável | Obrigatório. Nome do tipo definido pelo utilizador; segue as convenções de nomenclatura de variáveis padrão. |
elementname | Obrigatório. Nome de um elemento do tipo definido pelo utilizador. Os nomes de elementos também seguem convenções de nomenclatura de variáveis padrão, exceto que palavra-chave podem ser utilizadas. |
subscritos | Quando não for explicitamente indicado em inferior, o limite inferior de uma matriz será controlado pela instrução Option Base. O limite inferior será zero se nenhuma instrução Option Base estiver presente. |
type | Obrigatório. Tipo de dados do elemento; podem ser Byte, Booleano, Número Inteiro, Longo, Conversor de Moedas, Único, Duplo, Decimal (não suportado atualmente), Data, Cadeia (para cadeias de comprimento variável),Comprimento da cadeia (para cadeias de comprimento fixo), Objeto, Variante, outro tipo definido pelo utilizador ou um tipo de objeto. |
Comentários
A instrução Type só pode ser utilizada ao nível do módulo. Depois de ter declarado um tipo definido pelo utilizador com a instrução Tipo , pode declarar uma variável desse tipo em qualquer lugar no âmbito da declaração. Utilize Dim, Private, Public, ReDim ou Static para declarar uma variável de um tipo definido pelo utilizador.
Nos módulos padrão e nos módulos de classe, os tipos definidos pelo utilizador são públicos por predefinição. Esta visibilidade pode ser alterada com a palavra-chave Privada.
Os números de linha e as etiquetas de linha não são permitidos no Tipo... Blocos tipo de fim .
Os tipos definidos pelo utilizador são frequentemente utilizados com registos de dados, que consistem frequentemente em vários elementos relacionados de diferentes tipos de dados.
O exemplo seguinte mostra a utilização de matrizes de tamanho fixo num tipo definido pelo utilizador:
Type StateData
CityCode (1 To 100) As Integer ' Declare a static array.
County As String * 30
End Type
Dim Washington(1 To 100) As StateData
No exemplo anterior, StateData
inclui a CityCode
matriz estática e o registo Washington
tem a mesma estrutura que StateData
.
Quando declara uma matriz de tamanho fixo dentro de um tipo definido pelo utilizador, as respetivas dimensões têm de ser declaradas com literais numéricos ou constantes em vez de variáveis.
Exemplo
Este exemplo utiliza a instrução Tipo para definir um tipo de dados definido pelo utilizador. A instrução Type é utilizada apenas ao nível do módulo. Se aparecer num módulo de classe, uma instrução Tipo tem de ser precedida pelo palavra-chave Privado.
Type EmployeeRecord ' Create user-defined type.
ID As Integer ' Define elements of data type.
Name As String * 20
Address As String * 30
Phone As Long
HireDate As Date
End Type
Sub CreateRecord()
Dim MyRecord As EmployeeRecord ' Declare variable.
' Assignment to EmployeeRecord variable must occur in a procedure.
MyRecord.ID = 12003 ' Assign a value to an element.
End Sub
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.