Procedimientos de propiedad de llamada
En la tabla siguiente se muestra la sintaxis para llamar a procedimientos de propiedad:
procedimiento de propiedad | Sintaxis |
---|---|
Property Get | [Establecer ] varname = [ object.] propname [( [arguments] )] |
Property Let | [Let ] [ objeto.] propname [( [arguments] )] = argument |
Property Set | Establecer [ objeto.] propname [( [arguments] )] = objectArg |
Las llamadas a procedimientos de propiedad requieren al menos un argumento, el operador de asignación (=) y el nombre del procedimiento de propiedad.
- En una llamada con el nombre de propiedad en el lado derecho del operador de asignación, Visual Basic llama a Property Get para devolver información de la clase o objeto.
- En una llamada con el nombre de propiedad en el lado izquierdo del operador de asignación, Visual Basic llama a Property Let o Property Set para actualizar la información dentro del objeto de clase.
Si la declaración de un procedimiento de propiedad tiene varios parámetros, llamando a Property Let o Property Set, pasa el argumento del lado derecho del operador de asignación al último parámetro a los procedimientos Property Let o Property Set .
Por ejemplo, en el diagrama siguiente se usa la propiedad Let para mostrar cómo los argumentos de la llamada al procedimiento de propiedad (en la parte superior) se relacionan con los parámetros de la declaración (en la parte inferior):
En el ejemplo de código siguiente se muestra la relación entre los argumentos del procedimiento de propiedad y los parámetros.
'DemoType class declaration
Private pW
Private pX
Private pY
Private pZ
Property Get DemoProperty(w, x, y)
'Calling format is: `z = DemoProperty(w, x, y)`
' or `Set z = DemoProperty(w, x, y)`
w = pW
x = pX
y = pY
If IsObject(pZ) Then
Set DemoProperty = pZ
Else
DemoProperty = pZ
End If
End Property
Property Let DemoProperty(w, x, y, z)
'Calling format is `DemoProperty(w, x, y) = z`
pW = w
pX = x
pY = y
pZ = z
End Property
Property Set DemoProperty(w, x, y, z As Object)
'Calling format is `Set DemoProperty(w, x, y) = z`
pW = w
pX = x
pY = y
Set pZ = z
End Property
Sub DemoSub()
Dim myDemo As Object
Dim a, b, c, d
Dim w, x, y, z
Set myDemo = New DemoType
a = "Hello"
b = ", "
c = "world"
d = "!"
Debug.Print Join(Array(a, b, c, d), "") ' Hello, world!a
'Call Property Let DemoProperty(a, b, c, d)
Let myDemo.DemoProperty(a, b, c) = d
'Call Property Get
d = myDemo.DemoProperty(a, b, c)
Debug.Print Join(Array(a, b, c, d), "") ' Hello, world!
End Sub
En la práctica, el único uso para los procedimientos de propiedad con varios argumentos es el de crear matrices de propiedades.
Vea también
- Temas conceptuales de Visual Basic
- Instrucciones de Visual Basic
- Mensajes de error de la interfaz de usuario de Visual Basic
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.