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 |
---|---|
Optional | Optional. Indique que l’argument peut ou non être fourni par l’appelant. |
Public | Optional. Indique que la procédure Property Set est accessible à toutes les autres procédures dans tous les modules. Si vous l'utilisez dans un module qui contient une instruction Option Private, la procédure n'est pas disponible en dehors du projet. |
Private | Optional. Indique que la procédure Property Set est uniquement accessible aux autres procédures du module dans lequel elle est déclarée. |
Friend | Optional. 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 | Optional. 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 | Optional. 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 |
---|---|
Optional | Optional. 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é Optional. Notez qu’il n’est pas possible que le côté droit d’une expressionProperty Set soit Facultatif. |
ByVal | Optional. Indique que l’argument est transféré par valeur. |
ByRef | Optional. Indique que l’argument est transféré par référence. ByRef est la valeur par défaut dans VBA, contrairement à Visual Basic .NET. |
ParamArray | Optional. 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 | Optional. 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 | Optional. 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 Static n’est pas utilisé, la valeur de variables locales n’est pas conservée entre les appels.
Le mot cléFriend 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.
Tout code exécutable doit être inclus dans une procédure. 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
- Appel de procédures de propriété
- Executing code when setting properties
- Écriture d’une procédure de propriété
- Types de données
- Statements
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.