Property Get, instruction

Déclare le nom, les arguments et le code qui forment le corps d’une procédureProperty, qui obtient la valeur d’une propriété.

Syntaxe

[ Public | Privé | Ami ] [ Statique ] Propriété Getname [ (arglist) ] [ Astype ]
[ statements ]
[ name=expression ]
[ Exit, propriété ]
[ statements ]
[ name=expression ]
End Property

La syntaxe de l'instruction Property Get comprend les éléments suivants :

Élément Description
Public Facultatif. Indique que la procédure Property Get est accessible par 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 Get n'est accessible que par les autres procédures disponibles dans le module dans lequel elle est déclarée.
Ami Facultatif. S'utilise uniquement dans un module de classe. Indique que la procédure Property Get est visible dans l'ensemble du projet, mais n'est pas visible pour le contrôleur d'une instance d'un objet.
Static Facultatif. Indique que les variables locales de la procédure Property Get sont conservées entre les appels. L'attribut Static n'affecte pas les variables déclarées hors de la procédure Property Get, même si elles sont utilisées dans la procédure.
name Obligatoire. Nom de la procédure Property Get ; suit les conventions de nommage de variables standard, sauf que le nom peut être le même qu’une procédure Property Let ou Property Set dans le même module.
arglist Facultatif. Liste de variables représentant les arguments passés à la procédure Property Get 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 Get doivent être identiques à ceux de l'argument correspondant dans une procédure Property Let (si elle existe).
type Facultatif. Type de données de la valeur retournée par la procédure Property Get ; Peut être Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (non pris en charge actuellement), Date, String (sauf longueur fixe), Object, Variant, type défini par l’utilisateur et Arrays.

Le type de retour d'une procédure Property Get doit être identique au type de données du dernier argument (parfois le seul) d'une procédure Property Let correspondante (si elle existe) qui définit la valeur affectée à la propriété à droite d'une expression.
statements Facultatif. Tout groupe d'instructions à exécuter dans le corps d'une procédure Property Get.
expression Facultatif. Valeur de la propriété retournée par la procédure définie par l'instruction Property Get.

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.
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 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 aussi ê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.

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 des variables locales n’est pas conservée entre les appels.

Le mot clé Friend ne peut être utilisé que 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 Get à 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 Get . L'exécution du programme continue avec l'instruction qui a appelé la procédure Property Get. Un nombre quelconque d'instructions Exit Property peut s'afficher n'importe où dans une procédure Property Get.

Tout comme une procédure Sub ou Property Let, une procédure Property Get est une procédure distincte qui accepte des arguments, exécute une série d'instructions et modifie les valeurs de ses arguments. Toutefois, contrairement à une procédure Sub ou Property Let , vous pouvez utiliser une procédure Property Get sur le côté droit d’une expression de la même façon que vous utilisez une fonction ou un nom de propriété lorsque vous souhaitez renvoyer la valeur d’une propriété.

Exemple

Cet exemple utilise l'instruction Property Get pour définir une procédure de propriété qui obtient la valeur d'une propriété. La propriété identifie la couleur actuelle d'un stylo sous forme de chaîne.

Dim CurrentColor As Integer 
Const BLACK = 0, RED = 1, GREEN = 2, BLUE = 3 
 
' Returns the current color of the pen as a string. 
Property Get PenColor() As String 
 Select Case CurrentColor 
 Case RED 
 PenColor = "Red" 
 Case GREEN 
 PenColor = "Green" 
 Case BLUE 
 PenColor = "Blue" 
 End Select 
End Property 
 
' The following code gets the color of the pen 
' calling the Property Get procedure. 
ColorName = PenColor 

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.