Instrucción Property Set
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:
[ Optional ] [ ByVal | ByRef ] [ ParamArray ] varname [ ( ) ] [ Astype ] [ =defaultvalue ]
Parte | Descripción |
---|---|
Optional | 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. |
type | Opcional. Tipo de datos del argumento que se ha pasado al procedimiento; puede ser Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (no compatible actualmente), Date, String (solo longitud de variable), Object, Variant o un tipo de objeto determinado. Si el parámetro no es Optional, puede especificarse un tipo definido por el usuario. |
defaultvalue | 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.
' The Pen property may be set to different Pen implementations.
Property Set Pen(P As Object)
Set CurrentPen = P ' Assign Pen to object.
End Property
Vea también
- Procedimientos de propiedad de llamada
- Ejecución de código al establecer propiedades
- Escribir un procedimiento de propiedad
- Tipos de datos
- Instrucciones
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.