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) :

Property Let

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

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.