Property Let-Anweisung

Deklariert den Namen, die Argumente und den Code, die den Text einer Property-Prozedur bilden, die einer Eigenschaft einen Wert zuweist.

Syntax

[ Öffentlich | Privat | Freund ] [ Statisch ] Eigenschaft Letname ( [ arglist ], value )
[ statements ]
[ Beenden-Eigenschaft ]
[ statements ]
End Property

Die Anweisungssyntax PropertyLet hat folgende Teile:

Teil Beschreibung
Public Optional. Gibt an, dass die Property Let-Prozedur für alle anderen Prozeduren in allen Modulen zugänglich ist. Wenn die Prozedur in einem Modul verwendet wird, das eine Option Private-Anweisung enthält, ist sie außerhalb des Projekts nicht zugänglich.
Private Optional. Gibt an, dass die Property Let-Prozedur nur für Prozeduren in dem Modul zugänglich ist, in dem sie deklariert wurde.
Friend Optional. Wird nur in einem Klassenmodul verwendet. Gibt an, dass die Property Let-Prozedur im gesamten Projekt sichtbar ist, jedoch nicht für einen Controller einer Instanz eines Objekts.
Static Optional. Gibt an, dass die lokalen Variablen der Property Let-Prozedur zwischen Aufrufen beibehalten werden. Das Static-Attribut beeinflusst keine Variablen, die außerhalb der Property Let-Prozedur deklariert wurden, auch dann nicht, wenn Sie in der Prozedur verwendet werden.
name Erforderlich. Name der Property Let-Prozedur ; folgt standardmäßigen Variablenbenennungskonventionen, mit der Ausnahme, dass der Name mit einer Property Get- oder Property Set-Prozedur im selben Modul identisch sein kann.
arglist Erforderlich. Liste der Variablen, die Argumente darstellen, die beim Aufruf an die Property Let-Prozedur übergeben werden. Mehrere Argumente werden durch Kommas getrennt. Name und Datentyp jedes Arguments in einer Property Let-Prozedur müssen dieselben sein wie beim entsprechenden Argument in einer Property Get-Prozedur.
value Erforderlich. Variable, die den Wert enthält, der der Eigenschaft zugewiesen werden soll. Wenn die Prozedur aufgerufen wird, wird dieses Argument auf der rechten Seite des aufrufenden Ausdrucks angezeigt. Der Datentyp von Wert muss derselbe sein wie der Rückgabedatentyp der entsprechenden Property Get-Prozedur.
statements Optional. Eine beliebige Gruppe von Anweisungen, die innerhalb der Property Let-Prozedur ausgeführt werden sollen.

Das arglist-Argument weist die folgende Syntax und folgende Teile auf:

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

Teil Beschreibung
Optional Optional. Gibt an, dass ein Argument nicht erforderlich ist. Wenn verwendet, müssen alle nachfolgenden Argumente in arglist optional sein und mithilfe des Schlüsselworts Optional deklariert werden. Beachten Sie, dass die rechte Seite eines Property Let-Ausdrucks nicht Optional sein kann.
ByVal Optional. Gibt an, dass das Argument nach Wert übergeben wird.
ByRef Optional. Gibt an, dass das Argument nach Verweis übergeben wird. ByRef ist die Standardeinstellung in Visual Basic.
ParamArray Optional. Gibt an, dass das Argument ein optionales Array von Variant-Elementen ist. Mit dem Schlüsselwort ParamArray können Sie eine beliebige Anzahl von Argumenten bereitstellen. Es darf jedoch nicht zusammen mit ByVal, ByRef oder Optional verwendet werden. Dieses Schlüsselwort (keyword) kann weder das letzte Element noch das einzige Element der Arglist sein.
varname Erforderlich. Name der Variable, die das Argument darstellt; folgt den Standardbenennungskonventionen für Variablen.
type Optional. Datentyp des Arguments, das an die Prozedur übergeben wird; kann Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (derzeit nicht unterstützt), Date, String (nur mit variabler Länge), Object, Variante oder ein spezifischer Objekttyp sein. Wenn der Parameter nicht Optional ist, kann auch ein benutzerdefinierter Typ angegeben werden.
defaultvalue Optional. Eine beliebige Konstante oder ein Konstantenausdruck. Gilt nur für den Parameter Optional. Wenn der Typ Object ist, kann ein expliziter Standardwert nur Nothing lauten.

Hinweis

Jede Property Let-Anweisung muss mindestens ein gültiges Argument für die definierte Prozedur definieren. "gültig" bedeutet, dass es nicht mit "Optional" oder "ParamArray" geändert werden sollte. Dieses Argument (oder das letzte Argument, falls es mehr als eines gibt) enthält den tatsächlichen Wert, der der Eigenschaft zugewiesen werden soll, wenn die durch die Property Let-Anweisung definierte Prozedur aufgerufen wird. Dieses Argument wird in der vorausgehenden Syntax als Wert bezeichnet.

Hinweise

Wenn nicht mithilfe von Public, Private oder Friend explizit angegeben, sind Property-Prozduren standardmäßig öffentlich. Wenn Static nicht verwendet wird, wird der Wert der lokalen Variablen zwischen Aufrufen nicht beibehalten.

Das Schlüsselwort Friend kann nur in Klassenmodulen verwendet werden. Auf Friend-Prozeduren kann jedoch durch Prozeduren in jedem beliebigen Modul eines Projekts zugegriffen werden. Eine Friend-Prozedur wird weder in der Typbibliothek ihrer übergeordneten Klasse angezeigt noch kann eine Friend-Prozedur spät gebunden werden.

Der gesamte ausführbare Code muss in Prozeduren enthalten sein. Sie können keine Property Let-Prozedur innerhalb einer anderen Property-, Sub- oder Function-Prozedur definieren.

Die Exit Property-Anweisung bewirkt ein sofortiges Beenden einer Property Let-Prozedur . Die Programmausführung wird mit der Anweisung fortgesetzt, die auf diejenige folgt, die die Property Let -Prozedur aufgerufen hat. Eine beliebige Anzahl an Exit Property -Anweisungen kann an beliebigen Stellen in einer Property Let -Prozedur vorhanden sein.

Ebenso wie eine Function - und eine Property Get -Prozedur ist eine Property Let -Prozedur eine separate Prozedur, die Argumente annehmen, eine Folge von Anweisungen ausführen und den Wert ihrer Argumente ändern kann. Im Gegensatz zu einer Function - und Property Get-Prozedur , die beide einen Wert zurückgeben, können Sie jedoch nur eine Property Let-Prozedur auf der linken Seite eines Eigenschaftszuweisungsausdrucks oder einer Let-Anweisung verwenden.

Beispiel

In diesem Beispiel wird die Property Let -Anweisung verwendet, um eine Prozedur zu definieren, die einer Eigenschaft einen Wert zuweist. Die Eigenschaft zeigt die Stiftfarbe eines Zeichnungspakets an.

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" 

Siehe auch

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.