Compartir a través de


Creación de variables de objeto

Puede tratar una variable de objeto exactamente de la misma manera que el objeto al que hace referencia. Puede establecer o devolver las propiedades del objeto o usar cualquiera de sus métodos.

Creación de una variable de objeto

  1. Declare la variable de objeto.

  2. Asigne la variable de objeto a un objeto.

Declarar una variable de objeto

Use la instrucción Dim o una de las demás instrucciones de declaración (Public, Private o Static) para declarar una variable de objeto. Una variable que hace referencia a un objeto debe ser Variant, Object o un tipo específico de objeto. Por ejemplo, las siguientes declaraciones son 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 

Nota:

[!NOTA] Si usa una variable de objeto sin declararla primero, el tipo de datos de la variable de objeto es Variant de manera predeterminada.

Puede declarar una variable de objeto con el tipo de datos Object cuando el tipo de objeto específico no se conoce hasta que se ejecuta el procedimiento. Use el tipo de datos Object para crear una referencia genérica a cualquier objeto.

Si conoce el tipo de objeto específico, debe declarar la variable de objeto como ese tipo de objeto. Por ejemplo, si la aplicación contiene un tipo de objeto Sample, puede declarar una variable de objeto para ese objeto mediante cualquiera de estas instrucciones:

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

La declaración de los tipos de objetos específicos ofrece la comprobación de tipos automática, código más rápido y legibilidad mejorada.

Asignación de una variable de objeto a un objeto

Use la instrucción Set para asignar un objeto a una variable de objeto. Puede asignar una expresión de objeto o Nothing. Por ejemplo, las siguientes asignaciones de variables de objeto son válidas.

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

Puede combinar la declaración de una variable de objeto con la asignación de un objeto a la misma usando la palabra claveNew con la instrucción Set. Por ejemplo:

Set MyObject = New Object ' Create and Assign 

La configuración de una variable de objeto igual a Nothing interrumpe la asociación de la variable de objeto con cualquier objeto específico. Esto evita que cambie de manera accidental el objeto cambiando la variable. Una variable de objeto siempre se establece en Nothing después de cerrar el objeto asociado para que pueda probar si la variable de objeto apunta a un objeto válido. Por ejemplo:

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

Por supuesto, esta prueba nunca puede determinar con certeza absoluta si un usuario ha cerrado la aplicación que contiene el objeto al que hace referencia la variable de objeto.

Consulte la instancia actual de un objeto

Use la palabra clave Me para hacer referencia a la instancia actual del objeto donde se ejecuta el código. Todos los procedimientos asociados al objeto actual tienen acceso al objeto de referencia como Me. El uso de Me es particularmente útil para pasar información acerca de la instancia actual de un objeto a un procedimiento en otro módulo. Por ejemplo, supongamos que tiene el siguiente procedimiento en un módulo:

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

Puede llamar al procedimiento y pasar la instancia actual del objeto como argumento mediante la siguiente instrucción:

ChangeObjectColor Me 

Vea también

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.