Criando variáveis de objeto

Você pode tratar uma variável de objeto exatamente da mesma forma que o objeto ao qual ela 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 Objeto para criar uma referência genérica para 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 qualquer uma destas instruções:

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

A declaração de 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 seguintes atribuições de variável de objeto 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 ela usando a Newpalavra-chave com a instrução Set. Por exemplo:

Set MyObject = New Object ' Create and Assign 

Definir uma variável de objeto igual a Nothing interrompe a associação da variável de objeto a qualquer objeto específico. Isso impede que você altere acidentalmente o objeto alterando a variável. Uma variável de objeto é sempre definida como Nothing 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.

Referir-se à 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á sendo executado. Todos os procedimentos associados ao objeto atual têm acesso ao objeto referido como Eu. 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.