Property Let, instruction
Déclare le nom, les arguments et le code qui forment le corps d’une procédureProperty, qui affecte une valeur à une propriété.
Syntaxe
[ Public | Privé | Ami ] [ Statique ] Propriété Letname ( [ arglist ], value )
[ statements ]
[ Exit, propriété ]
[ statements ]
End Property
La syntaxe de l’instruction Property Let comprend les éléments suivants :
Élément | Description |
---|---|
Public | Optional. Indique que la procédure Property Let 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 Let est accessible uniquement 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 Let est visible dans le projet, mais ne l’est pas pour le contrôleur d’une instance d’objet. |
Static | Optional. Indique que les variables locales de la procédure Property Let sont préservées entre les appels. L’attribut Static n’affecte pas les variables déclarées en dehors de la procédure Property Let, même si elles sont utilisées dans la procédure. |
name | Obligatoire. Nom de la procédure Property Let ; 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 Set dans le même module. |
arglist | Obligatoire. Liste des variables représentant des arguments transférés à la procédure Property Let lorsqu’elle est appelée. Les différents arguments sont séparés par des virgules. Le nom et le type de données de chaque argument d’une procédure Property Let doivent être les mêmes que ceux de l’argument correspondant dans la procédure Property Get. |
value | Obligatoire. Variable qui contient la valeur à affecter à la propriété. Lorsque la procédure est appelée, cet argument apparaît à droite de l’expression appelante. Le type de données de l’argument value doit être identique au type renvoyé par la procédure Property Get correspondante. |
statements | Optional. Tout groupe d’instructions à exécuter dans la procédure Property Let. |
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 que le côté droit d’une expression Property Let ne peut pas avoir la valeur 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. Indique que l’argument est un tableau facultatif d’é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. Cette mot clé ne peut pas être le dernier élément ni le seul élément de la liste arglist. |
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 passé à la procédure ; peut être Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (non pris en charge), Date, String (longueur variable uniquement), Object, Variant ou 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 Let doit définir au moins un argument valide pour la procédure qu’elle définit. La valeur « valide » signifie qu’elle ne doit pas être modifiée avec « Facultatif » ni « ParamArray ». Cet argument (ou le dernier argument s’il y en a plusieurs) contient la valeur réelle à affecter à la propriété lorsque la procédure définie par l’instruction Property Let est appelée. Cet argument correspond à value dans la syntaxe précédente.
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 Let à 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 Let . L’exécution du programme continue avec l’instruction qui suit celle qui a appelé la procédure Property Let. Une procédure Property Let peut comporter plusieurs instructions Exit Property en tout point.
Tout comme les procédures Function et Property Get, Property Let est une procédure séparée qui peut accepter 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 pouvez uniquement utiliser une procédure Property Let sur le côté gauche d’une expression d’affectation de propriété ou d’une instruction Let .
Exemple
Cet exemple utilise l’instruction Property Let pour définir une procédure qui attribue une valeur à une propriété. Cette propriété identifie la couleur du pinceau d’un progiciel de dessin.
Dim CurrentColor As Integer
Const BLACK = 0, RED = 1, GREEN = 2, BLUE = 3
' Set the pen color property for a Drawing package.
' The module-level variable CurrentColor is set to
' a numeric value that identifies the color used for drawing.
Property Let PenColor(ColorName As String)
Select Case ColorName ' Check color name string.
Case "Red"
CurrentColor = RED ' Assign value for Red.
Case "Green"
CurrentColor = GREEN ' Assign value for Green.
Case "Blue"
CurrentColor = BLUE ' Assign value for Blue.
Case Else
CurrentColor = BLACK ' Assign default value.
End Select
End Property
' The following code sets the PenColor property for a drawing package
' by calling the Property let procedure.
PenColor = "Red"
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.