Appel de procédures de propriété
Le tableau suivant répertorie la syntaxe pour appeler des procédures de propriété :
Procédure de propriété | Syntaxe |
---|---|
Property Get | [Set ] varname = [ object.] propname [( [arguments] )] |
Property Let | [Let ] [ object.] propname [( [arguments] )] = argument |
Ensemble de propriétés | Set [ object.] propname [( [arguments] )] = objectArg |
Les appels de procédures de propriété nécessitent au moins un argument, l’opérateur d’affectation (=) et le nom de la procédure de propriété.
- Dans un appel avec le nom de propriété à droite de l’opérateur d’affectation, Visual Basic appelle Property Get pour retourner des informations à partir de la classe/de l’objet.
- Dans un appel avec le nom de propriété à gauche de l’opérateur d’affectation, Visual Basic appelle Property Let ou Property Set pour mettre à jour les informations au sein de l’objet de classe.
Si la déclaration d’une procédure de propriété a plusieurs paramètres, en appelant Property Let ou Property Set, passe l’argument situé à droite de l’opérateur d’affectation au dernier paramètre aux procédures Property Let ou Property Set .
Par exemple, le diagramme suivant utilise Property Let pour montrer comment les arguments de l’appel de procédure de propriété (en haut) sont liés aux paramètres de la déclaration (en bas) :
L’exemple de code suivant illustre la relation entre les arguments de procédure de propriété et les paramètres.
'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 pratique, la seule utilisation des procédures de propriété avec plusieurs arguments est pour créer des tableaux de propriétés.
Voir aussi
- Rubriques conceptuelles de Visual Basic
- Instructions Visual Basic
- Messages d’erreur de l’interface utilisateur Visual Basic
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.