Criando variáveis de objeto

Você pode tratar uma variável de objeto exatamente igual ao objeto ao qual ele se refere. Você pode definir ou retornar as propriedades do objeto ou usar qualquer um de seus 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

Use 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 refere a um objeto deve ser uma Variant, 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 você usar uma variável de objeto sem declará-la primeiro, o tipo de dados da variável de objeto será Variant por padrão.

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

Se você conhece o tipo de objeto específico, deve declarar a variável de objeto como esse tipo de objeto. Por exemplo, se o aplicativo contiver um tipo de objeto Sample, você poderá declarar uma variável de objeto para esse objeto usando uma dessas 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 tipo, código mais rápido e melhor legibilidade.

Atribuir uma variável de objeto a um objeto

Use a instrução Set para atribuir um objeto a uma variável de objeto. Você pode atribuir uma expressão de objeto ou Nothing. Por exemplo, as atribuições de variável de objeto a seguir são válidas.

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

Você pode combinar a declaração de uma variável de objeto com a atribuição de um objeto a ele usando a palavra-chaveNovo com a instrução Definir. Por exemplo:

Set MyObject = New Object ' Create and Assign 

Definir uma variável de objeto igual a Nothing descontinua a associação da variável de objeto com qualquer objeto específico. Isso impede que você altere acidentalmente o objeto alterando a variável. Uma variável de objeto é sempre definida como Nada depois de fechar o objeto associado para que você 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 esse teste nunca pode determinar com certeza absoluta se um usuário fechou o aplicativo que contém o objeto ao qual a variável de objeto se refere.

Consulte a instância atual de um objeto

Use a palavra-chave Me para se referir à instância atual do objeto em que o código está em execução. Todos os procedimentos associados ao objeto atual têm acesso ao objeto chamado Me. Usar me é particularmente útil para passar informações sobre a instância atual de um objeto para um procedimento em outro módulo. Por exemplo, suponha que você tenha o seguinte procedimento em um módulo:

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

Você pode chamar o procedimento e passar a instância atual do objeto como um argumento usando 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.