Compartilhar via


Criar variáveis de objeto

Pode tratar uma variável de objeto exatamente igual ao objeto a que se refere. Pode definir ou devolver as propriedades do objeto ou utilizar qualquer um dos respetivos métodos.

Criar uma variável de objeto

  1. Declare a variável de objeto.

  2. Atribua a variável de objeto a um objeto.

Declarar uma variável de objeto

Utilize a instrução Dim ou uma das outras instruções de declaração (Pública, Privada ou Estática) para declarar uma variável de objeto. Uma variável que se refira a um objeto tem de ser uma Variante, um Objeto ou um tipo específico de objeto. Por exemplo, as seguintes declarações são válidas:

' Declare MyObject as Variant data type. 
Dim MyObject 
' Declare MyObject as Object data type. 
Dim MyObject As Object 
' Declare MyObject as Font type. 
Dim MyObject As Font 

Observação

Se utilizar uma variável de objeto sem a declarar primeiro, o tipo de dados da variável de objeto é Variante por predefinição.

Pode declarar uma variável de objeto com o tipo de dados Objeto quando o tipo de objeto específico não é conhecido até que o procedimento seja executado. Utilize o tipo de dados Objeto para criar uma referência genérica a qualquer objeto.

Se souber o tipo de objeto específico, deve declarar a variável de objeto como esse tipo de objeto. Por exemplo, se a aplicação contiver um tipo de objeto De exemplo, pode declarar uma variável de objeto para esse objeto através de uma destas instruções:

Dim MyObject As Object ' Declared as generic object. 
Dim MyObject As Sample ' Declared only as Sample object. 

Declarar tipos de objeto específicos fornece verificação automática de tipos, código mais rápido e legibilidade melhorada.

Atribuir uma variável de objeto a um objeto

Utilize a instrução Set para atribuir um objeto a uma variável de objeto. Pode atribuir uma expressão de objeto ou Nada. Por exemplo, as seguintes atribuições de variáveis de objeto são válidas.

Set MyObject = YourObject ' Assign object reference. 
Set MyObject = Nothing ' Discontinue association. 

Pode combinar a declaração de uma variável de objeto com a atribuição de um objeto ao mesmo através da instrução Novopalavra-chave com a instrução Set. Por exemplo:

Set MyObject = New Object ' Create and Assign 

Definir uma variável de objeto igual a Nada descontinua a associação da variável de objeto com qualquer objeto específico. Isto impede-o de alterar acidentalmente o objeto alterando a variável. Uma variável de objeto é sempre definida como Nada depois de fechar o objeto associado para que possa testar se a variável de objeto aponta para um objeto válido. Por exemplo:

If Not MyObject Is Nothing Then 
    ' Variable refers to valid object. 
    . . . 
End If 

É claro que este teste nunca pode determinar com certeza absoluta se um utilizador fechou a aplicação que contém o objeto ao qual a variável de objeto se refere.

Veja a instância atual de um objeto

Utilize o palavra-chave Me para fazer referência à instância atual do objeto onde o código está em execução. Todos os procedimentos associados ao objeto atual têm acesso ao objeto referido como Eu. Utilizar Eu é particularmente útil para transmitir informações sobre a instância atual de um objeto para um procedimento noutro módulo. Por exemplo, suponha que tem o seguinte procedimento num módulo:

Sub ChangeObjectColor(MyObjectName As Object) 
    MyObjectName.BackColor = RGB(Rnd * 256, Rnd * 256, Rnd * 256) 
End Sub

Pode chamar o procedimento e transmitir a instância atual do objeto como um argumento com a seguinte instrução:

ChangeObjectColor Me 

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.