Declara el nombre, los argumentos y el código que forman el cuerpo de un procedimiento de propiedad, que establece una referencia a un objeto.
Sintaxis
[ Público | Privado | Friend ] [ Estático ] Nombre del conjunto de propiedades ( [arglist ], reference )
[ instrucciones ]
[ Exit Property ]
[ instrucciones ] End Property
La sintaxis de la instrucción Property Set tiene estas partes:
Parte
Descripción
Optional
Opcional. Indica que el autor de llamada puede proporcionar o no el argumento.
Public
Opcional. Indica que los demás procedimientos pueden obtener acceso al procedimiento Property Set en todos los módulos. Si se utiliza en un módulo que contiene una instrucción Option Private, el procedimiento no está disponible fuera de proyecto.
Private
Opcional. Indica que solo los demás procedimientos pueden obtener acceso al procedimiento Property Set en el módulo en el que se declaró.
Friend
Opcional. Se usa únicamente en un módulo de clase. Indica que el procedimiento Property Set está visible en todo el proyecto, pero no es visible para un controlador de una instancia de un objeto.
Static
Opcional. Indica que las variables locales del procedimiento Property Set se conservan entre llamadas. El atributo Static no afecta a las variables declaradas fuera del procedimiento Property Set, incluso si se usan en el procedimiento.
name
Obligatorio. Nombre del procedimiento Conjunto de propiedades ; sigue las convenciones de nomenclatura de variables estándar, salvo que el nombre puede ser el mismo que un procedimiento Property Get o Property Let en el mismo módulo.
arglist
Obligatorio. Lista de variables que representan los argumentos que se pasan al procedimiento Property Set cuando se realiza la llamada. Los distintos argumentos están separados por comas.
reference
Obligatorio. Variable que contiene la referencia de objeto usada en el lado derecho de la asignación de referencia del objeto.
statements
Opcional. Cualquier grupo de instrucciones que se vaya a ejecutar en el cuerpo del procedimiento Property .
El argumento arglist consta de las siguientes sintaxis y partes:
Opcional. Indica que no se necesita un argumento. Si se usan, todos los argumentos siguientes en arglist también deben ser opcionales y declararse usando la palabra clave Optional. Tenga en cuenta que no es posible que el lado derecho de una expresiónde conjunto de propiedades sea Opcional.
ByVal
Opcional. Indica que el argumento se pasa por valor.
ByRef
Opcional. Indica que el argumento se pasa por referencia.
ByRef es el valor predeterminado en VBA, a diferencia de en Visual Basic .NET.
ParamArray
Opcional. Solo se usa como último argumento de arglist para indicar que el argumento final es una matriz opcional de elementos de Variant. La palabra clave ParamArray le permite proporcionar un número arbitrario de argumentos. Es posible que no pueda usarse con ByVal, ByRef u Optional.
varname
Obligatorio. Nombre de la variable que representa el argumento; sigue las convenciones de nomenclatura de variables estándar.
Opcional. Cualquier constante o expresión constante. Válida solo para parámetros Optional. Si el tipo es un Objeto, un valor predeterminado explícito solo puede ser Nothing.
Nota
[!NOTA] Cada instrucción Property Set debe definir al menos un argumento para el procedimiento que define. Ese argumento (o el último argumento si hay más de uno) contiene la referencia de objeto real para la propiedad cuando se invoca el procedimiento definido por la instrucción Property Set. Se conoce como referencia en la sintaxis anterior. No puede ser Optional.
Comentarios
Si no se especifica explícitamente mediante Public, Private o Friend, los procedimientos Property son públicos de forma predeterminada. Si no se usa Static, el valor de las variables locales no se conserva entre llamadas.
La palabra clave Friend solo puede utilizarse en los módulos de clase. No obstante, los procedimientos de cualquier módulo de un proyecto pueden tener acceso a los procedimientos Friend. Un procedimiento Friend no aparece en la biblioteca de tipos de su clase primaria, ni tampoco puede un procedimiento Friend ser un enlace en tiempo de ejecución.
Todo el código ejecutable debe estar en procedimientos. No se puede definir un procedimiento Property Set dentro de otro procedimiento Property, Sub o Function .
La instrucción Exit Property provoca una salida inmediata de un procedimiento Property Set . La ejecución del programa continúa con la instrucción que sigue a la instrucción que llamó al procedimiento Property Set. Cualquier número de instrucciones Exit Property puede aparecer en cualquier lugar del procedimiento Property Set.
Como en un procedimiento Function y Property Get, un procedimiento Property Set es un procedimiento independiente que puede admitir argumentos, realizar una serie de instrucciones y cambiar los valores de los argumentos. Sin embargo, a diferencia de un procedimiento Function y Property Get , que devuelven un valor, solo puede usar un procedimiento Property Set en el lado izquierdo de una asignación de referencia de objeto o una instrucción Set .
Ejemplo
En este ejemplo se usa la instrucción Property Set para definir un procedimiento de propiedad que establece una referencia a un objeto.
VB
' The Pen property may be set to different Pen implementations. PropertySet Pen(P AsObject)
Set CurrentPen = P ' Assign Pen to object. EndProperty
¿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.
Aprenda a implementar propiedades de clase de solo lectura, solo lectura y solo escritura mediante descriptores de acceso de propiedad y modificadores de acceso, y cómo implementar métodos y métodos de extensión para una clase.