Escribir un procedimiento Property

Microsoft VBA

Escribir un procedimiento Property

   

Un procedimiento Property es una serie de instrucciones Visual Basic que permiten a un programador crear y manipular propiedades personalizadas.

  • Los procedimientos Property se pueden usar para crear propiedades de sólo lectura para formularios, módulos estándar y módulos de clase.

  • Los procedimientos Property deben utilizarse en el código en lugar de las variables Public que deben ser ejecutadas cuando se asigna un valor a la propiedad.

  • A diferencia de las variables Public, los procedimientos Property pueden tener cadenas de Ayuda asignadas en el Examinador de objetos.

Cuando se crea un procedimiento Property, se convierte en una propiedad del módulo que contiene al procedimiento. Visual Basic proporciona los siguientes tres tipos de procedimientos Property:

Procedimiento Descripción
Property Let Un procedimiento que da valor a una propiedad.
Property Get Un procedimiento que devuelve el valor de una propiedad.
Property Set Un procedimiento que establece una referencia a un objeto.

La sintaxis para declarar un procedimiento Property es la siguiente:

[Public | Private] [Static] Property {Get | Let | Set} nombrepropiedad_ [(argumentos)] [As tipo]

instrucciones

End Property

Los procedimientos Property se usan normalmente en parejas: Property Let con Property Get y Property Set con Property Get. Si se declara un procedimiento Property Get sólo es como si se declarara una propiedad sólo de lectura. El uso combinado de los tres procedimientos Property sólo es útil en el caso de variables Variant, dado que sólo una variable Variant puede contener información de un objeto u otro tipo de datos. Property Set está pensado para ser usado con objetos, mientras que Property Let no lo está.

Los argumentos necesarios para un procedimiento Property son los que aparecen en la tabla siguiente:

Procedimiento Sintaxis de la declaración
Property Get Property Get nombreprop(1, …, n) As tipo
Property Let Property Let nombreprop(1, …,,,, n, n+1)
Property Set Property Set nombreprop(1, …, n, n+1)

Desde el primer argumento hasta el penúltimo (1, …, n) deben compartir los mismos nombres y tipo de datos en todos los procedimientos Property con el mismo nombre.

La declaración de un procedimiento Property Get acepta un argumento menos que las declaraciones Property Let y Property Set. El tipo de datos del procedimiento Property Get debe ser el mismo que el tipo de del último argumento (n+1) de las declaraciones Property Let y Property Set correspondientes. Por ejemplo, si se declara el siguiente procedimiento Property Let, la declaración Property Get debe usar argumentos con el mismo nombre y tipo de datos que los argumentos del procedimiento Property Let.

Property Let Nombres(intX As Integer, intY As Integer, varZ As Variant)
    ' Aquí una instrucción.
End Property

Property Get Nombres(intX As Integer, intY As Integer) As Variant
    ' Aquí una instrucción.
End Property

El tipo de datos del último argumento en una declaración Property Set deber ser del tipo de objeto o Variant.