Ejecutar código cuando se establecen propiedades

Microsoft VBA

Ejecutar código cuando se establecen propiedades

   

Se pueden crear procedimientos Property Let, Property Set y Property Get que compartan el mismo nombre. Así se puede crear un grupo de procedimientos relacionados que operan conjuntamente. Una vez que se utiliza un nombre para un procedimiento Property, ese nombre ya no se puede usar para denominar un procedimiento Sub o Function, una variable, o un tipo definido por el usuario.

La instrucción Property Let permite crear un procedimiento que asigna un valor a la propiedad. Un ejemplo podría ser un procedimiento Property que crea una propiedad invertida para un mapa de bits en un documento. La sintaxis utilizada para efectuar la llamada al procedimiento Property Let es la siguiente:

Form1.Invertido = True

El proceso real de invertir un mapa de bits en el documento se realiza enteramente dentro del procedimiento Property Let:

Private EstáInvertido As Boolean

Property Let Invertido(X As Boolean)
    EstáInvertido = X
    If EstáInvertido Then
        …
        '(instrucciones)
    Else
        '(instrucciones)
    End If
End Property

La variable de nivel de documento EstáInvertido almacena el valor asignado a la propiedad. Al declararla como Private, el usuario sólo puede cambiarla mediante el procedimiento Property Let. Utilice un nombre que permita fácilmente recordar que la variable se utiliza para la propiedad.

Este procedimiento Property Get se utiliza para devolver el valor actual de la propiedad Invertido:

Property Get Invertido() As Boolean
    Invertido = EstáInvertido
End Property

Los procedimientos Property hacen más fácil la ejecución de código al tiempo que se asigna un valor a la propiedad. Se pueden usar los procedimientos Property para ejecutar los siguientes procesos:

  • Antes de asignar un valor a la propiedad, para determinar el valor de la propiedad.

  • Después de asignarlo, procedimientos basados en el nuevo valor.