Compartir a través de


Instrucción Property Let

Declara el nombre, los argumentos y el código que forman el cuerpo de un procedimientoProperty, que asigna un valor a una propiedad.

Sintaxis

[ Público | Privado | Friend ] [ Estático ] Propiedad Letname ( [ arglist ], value )
[ instrucciones ]
[ Exit Property ]
[ instrucciones ]
End Property

La sintaxis de la instrucción Property Let consta de las partes siguientes:

Parte Descripción
Public Opcional. Indica que el procedimiento Property Let es accesible para todos los demás procedimientos de 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 únicamente los procedimientos del módulo en el que se declara el procedimiento Property Let tienen acceso a este procedimiento.
Friend Opcional. Se usa solo en un módulo de clase. Indica que el procedimiento Property Let es 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 Let se conservan entre llamadas. El atributo Static no afecta a las variables que se declaran fuera del procedimiento Property Let, ni siquiera si se usan en el procedimiento.
name Obligatorio. Nombre del procedimiento Property Let ; sigue las convenciones de nomenclatura de variables estándar, salvo que el nombre puede ser el mismo que un procedimiento Property Get o Property Set en el mismo módulo.
arglist Obligatorio. Lista de variables representativas de argumentos que se pasan al procedimiento Property Let cuando se llama. Si hay varios argumentos, se separan con comas. El nombre y el tipo de datos de cada argumento de un procedimiento Property Let deben ser iguales que el argumento correspondiente en un procedimiento Property Get.
value Obligatorio. Variable para contener el valor que se va asignar a la propiedad. Cuando se llama al procedimiento, este argumento aparece a la derecha de la expresión autora de la llamada. El tipo de datos de value debe ser igual que el tipo devuelto del procedimiento Property Get correspondiente.
statements Opcional. Cualquier grupo de instrucciones que se van a ejecutar dentro del procedimiento Property Let.

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ón Property Let sea Optional.
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. Indica que el argumento es una matriz opcional de elementos 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. Esta palabra clave no puede ser el último elemento ni el único elemento de arglist.
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 pasa 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 específico. Si el parámetro no es Optional, también 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:

Cada instrucción Property Let debe definir al menos un argumento válido para el procedimiento que define. 'valid' significa que no se debe modificar con 'Optional' ni 'ParamArray'. Ese argumento (o el último argumento, si hay más de uno) contiene el valor real que se va a asignar a la propiedad cuando se invoque el procedimiento definido por la instrucción Property Let. En la sintaxis precedente, se hace referencia a ese argumento como value.

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 Let dentro de otro procedimiento Property, Sub o Function .

La instrucción Exit Property provoca una salida inmediata de un procedimiento Property Let . La ejecución del programa continúa con la instrucción que sigue a la instrucción que llamó al procedimiento Property Let. En cualquier parte de un procedimiento Property Let puede aparecer cualquier número de instrucciones Exit Property.

Al igual que los procedimientos Function y Property Get, un procedimiento Property Let es un procedimiento independiente que puede tomar argumentos, llevar a cabo una serie de instrucciones y cambiar el valor de sus argumentos. Sin embargo, a diferencia de un procedimiento Function y Property Get , que devuelven un valor, solo puede usar un procedimiento Property Let en el lado izquierdo de una expresión de asignación de propiedades o una instrucción Let .

Ejemplo

En este ejemplo se usa la instrucción Property Let para definir un procedimiento que asigna un valor a una propiedad. La propiedad identifica el color de la pluma en un paquete de dibujo.

Dim CurrentColor As Integer 
Const BLACK = 0, RED = 1, GREEN = 2, BLUE = 3 
 
' Set the pen color property for a Drawing package. 
' The module-level variable CurrentColor is set to 
' a numeric value that identifies the color used for drawing. 
Property Let PenColor(ColorName As String) 
 Select Case ColorName ' Check color name string. 
 Case "Red" 
 CurrentColor = RED ' Assign value for Red. 
 Case "Green" 
 CurrentColor = GREEN ' Assign value for Green. 
 Case "Blue" 
 CurrentColor = BLUE ' Assign value for Blue. 
 Case Else 
 CurrentColor = BLACK ' Assign default value. 
 End Select 
End Property 
 
' The following code sets the PenColor property for a drawing package 
' by calling the Property let procedure. 
 
PenColor = "Red" 

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.