Instrucción Property Get

Declara el nombre, los argumentos y el código que forman el cuerpo de un procedimiento de propiedad, que obtiene el valor de una propiedad.

Sintaxis

[ Público | Privado | Friend ] [ Estático ] Nombre de la propiedad Get[ (arglist) ] [ Comotipo ]
[ instrucciones ]
[ name=expresión ]
[ Exit Property ]
[ instrucciones ]
[ name=expresión ]
End Property

La sintaxis de la instrucción Property Get tiene estas partes:

Parte Descripción
Public Opcional. Indica que los demás procedimientos pueden obtener acceso al procedimiento Property Get 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 Get en el módulo en el que se declaró.
Friend Opcional. Se usa solo en el módulo de clase. Indica que el procedimiento Property Get se encuentra visible en todo el proyecto, pero no está visible para un controlador de una instancia de un objeto.
Static Opcional. Indica que las variables locales del procedimiento Property Get se conservan entre llamadas . El atributo Static no afecta a las variables declaradas fuera del procedimiento Property Get, incluso si se usan en el procedimiento.
name Obligatorio. Nombre del procedimiento Property Get ; sigue las convenciones de nomenclatura de variables estándar, salvo que el nombre puede ser el mismo que un procedimiento Property Let o Property Set en el mismo módulo.
arglist Opcional. Lista de variables que representa los argumentos que se pasan al procedimiento Property Get cuando se realiza la llamada. Si hay varios argumentos, se separan con comas. El nombre y el tipo de datos de cada argumento en un procedimiento Property Get deben ser los mismos que el argumento correspondiente en un procedimiento Property Let (si existe uno).
type Opcional. Tipo de datos del valor devuelto por el procedimiento Property Get ; puede ser Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (no compatible actualmente), Date, String (excepto longitud fija), Object, Variant, type definido por el usuario y Arrays.

El tipo de retorno de un procedimiento Property Get debe ser el mismo tipo de datos que el último argumento (o a veces el único) en un procedimiento Property Let correspondiente (si existe uno) que define el valor asignado a la propiedad en el lado derecho de una expresión.
instrucciones Opcional. Cualquier grupo de instrucciones que se vaya a ejecutar en el cuerpo del procedimiento Property Get.
expression Opcional. Valor de la propiedad devuelta por el procedimiento definido por la instrucción Property Get.

El argumento ListaArg tiene la siguiente 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.
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 Visual Basic.
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 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, debe también 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.

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.

The Friend keyword can only be used in class modules. 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 los procedimientos. No se puede definir un procedimiento Property Get dentro de otro procedimiento Property, Sub o Function .

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

Como en un procedimiento Sub y Property Let, un procedimiento Property Get 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 Sub o Property Let , puede usar un procedimiento Property Get en el lado derecho de una expresión de la misma manera que se usa una función o un nombre de propiedad cuando se desea devolver el valor de una propiedad.

Ejemplo:

Este ejemplo usa la instrucción Property Get para definir un procedimiento de propiedad que obtiene el valor de una propiedad. La propiedad identifica el color actual de la pluma como una cadena.

Dim CurrentColor As Integer 
Const BLACK = 0, RED = 1, GREEN = 2, BLUE = 3 
 
' Returns the current color of the pen as a string. 
Property Get PenColor() As String 
 Select Case CurrentColor 
 Case RED 
 PenColor = "Red" 
 Case GREEN 
 PenColor = "Green" 
 Case BLUE 
 PenColor = "Blue" 
 End Select 
End Property 
 
' The following code gets the color of the pen 
' calling the Property Get procedure. 
ColorName = PenColor 

Consulte 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.