Property Set, instruction

Déclare le nom, les arguments et le code qui forment le corps d’une procédureProperty, qui définit une référence à un objet .

Syntaxe

[ Public | Privé | Ami ] [ Statique ] Property Setname ( [ arglist ], reference )
[ statements ]
[ Exit, propriété ]
[ statements ]
End Property

La syntaxe de l’instruction Property Set est composée des éléments suivants :

Élément Description
Facultatif Facultatif. Indique que l’argument peut ou non être fourni par l’appelant.
Public Facultatif. Indique que la procédure Property Set est accessible à toutes les autres procédures dans tous les modules. Si elle est utilisée dans un module qui contient une instruction Option Private, la procédure n’est pas disponible en dehors du projet.
Private Facultatif. Indique que la procédure Property Set est uniquement accessible aux autres procédures du module dans lequel elle est déclarée.
Ami Facultatif. Utilisé uniquement dans un module de classe. Indique que la procédure Property Set est visible dans l’ensemble du projet, mais qu’elle n’est pas visible par un contrôleur d’une instance d’un objet.
Static Facultatif. Indique que les variables locales de la procédure Property Set sont conservées entre les appels. L’attribut Static n’affecte pas les variables déclarées en dehors de la procédure Property Set, même si elles sont utilisées dans la procédure.
name Obligatoire. Nom de la procédure Property Set ; suit les conventions d’affectation de noms de variables standard, sauf que le nom peut être le même qu’une procédure Property Get ou Property Let dans le même module.
arglist Obligatoire. Liste des variables représentant des arguments qui sont transmises à la procédure Property Set lorsqu’elle est appelée. Les arguments sont séparés par des virgules.
reference Obligatoire. Variable contenant la référence d’objet utilisée à droite de l’affectation de référence d’objet.
statements Facultatif. Tous les groupes d’instructions à exécuter dans le corps de la procédure Property.

La syntaxe et les éléments de l’argument arglist sont les suivants :

[ Optional ] [ ByVal | ByRef ] [ ParamArray ] varname [ ( ) ] [ Astype ] [ =defaultvalue ]

Élément Description
Facultatif Facultatif. Indique qu’un argument n’est pas nécessaire. Si utilisé, tous les arguments suivants dans arglist doivent également être facultatifs et déclarés à l’aide du mot clé facultatif. Notez qu’il n’est pas possible que le côté droit d’une expressionProperty Set soit Facultatif.
ByVal Facultatif. Indique que l’argument est transféré par valeur.
ByRef Facultatif. Indique que l’argument est transféré par référence. ByRef est la valeur par défaut dans Visual Basic.
ParamArray Facultatif. Utilisé uniquement en tant que dernier argument dans arglist pour indiquer que l’argument final est un tableau Optional contenant des éléments Variant. Le mot clé ParamArray vous permet de donner un nombre d’arguments arbitraire. Vous ne pouvez pas l'utiliser avec ByVal, ByRef ou Optional.
varname Obligatoire. Nom de la variable représentant l'argument qui respecte les conventions standard d'affectation de noms de variables.
type Facultatif. Type de données de l’argument transmis à la procédure ; peut être Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (actuellement non pris en charge), Date, String (longueur de variable uniquement), Object, Variant ou un type d’objet spécifique. Si le paramètre n’est pas Optional, un type défini par l’utilisateur peut également être spécifié.
defaultvalue Facultatif. Toute constante ou expression constante. Valide pour les paramètres Optional uniquement. Si le type est un Objet, une valeur par défaut explicite peut uniquement être Nothing.

Remarque

Chaque instruction Property Set doit définir au moins un argument pour la procédure qu’elle définit. Cet argument (ou le dernier s’il y en a plusieurs) contient la référence d’objet réelle de la propriété lorsque la procédure définie par l’instruction Property Set est appelée. Il est appelé référence dans la syntaxe précédente. Il ne peut pas être Optional.

Remarques

Si elles ne sont pas explicitement spécifiées à l’aide de Public, Private ou Friend, les procédures Property sont publiques par défaut. Si statique n’est pas utilisé, la valeur de variables locales n’est pas conservée entre les appels.

Le mot cléami peut être utilisé uniquement dans les modules de classe. Toutefois, les procédures Friend sont accessibles aux procédures de tout module d'un projet. Une procédure Friend n'apparaît pas dans la bibliothèque de types de sa classe parente, et une procédure Friend ne peut pas être à liaison tardive.

L'ensemble du code exécutable doit figurer dans des procédures. Vous ne pouvez pas définir une procédure Property Set à l’intérieur d’une autre procédure Property, Sub ou Function .

L’instruction Exit Property provoque une sortie immédiate d’une procédure Property Set . L’exécution du programme se poursuit avec l’instruction qui suit celle qui a appelé la procédure Property Set. N’importe quel nombre d’instructions Exit Property peut figurer n’importe où dans une procédure Property Set.

À l’instar des procédures Function et Property Get, la procédure Property Set est une procédure séparée qui peut prendre des arguments, exécuter une série d’instructions et modifier la valeur de ses arguments. Toutefois, contrairement aux procédures Function et Property Get , qui retournent toutes deux une valeur, vous ne pouvez utiliser une procédure Property Set que sur le côté gauche d’une affectation de référence d’objet ou d’une instruction Set .

Exemple

Cet exemple utilise l’instruction Property Set pour définir une procédure Property qui définit une référence à un objet.

' The Pen property may be set to different Pen implementations. 
Property Set Pen(P As Object) 
 Set CurrentPen = P ' Assign Pen to object. 
End Property

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.