VBA-Programmierung in Microsoft Excel

Tutorial: Excel-Beispiele

VBA-Begriff: Property Set-Anweisung

Deklariert den Namen, die Argumente und den Code für den Rumpf einer Property-Prozedur, die einen Verweis auf ein Objekt festlegt.

Syntax

[Public | Private] [Static] Property Set Name ([ArgListe,] Verweis)
[Anweisungen]
[Exit Property]
[Anweisungen]

End Property

Die Syntax der Property Set-Anweisung besteht aus folgenden Teilen:

Teil Beschreibung
Optional Optional. Gibt an, ob das Argument von der aufrufenden Prozedur bereitgestellt wird oder nicht.
Public Optional. Auf die Property Set-Prozedur kann von allen anderen Prozeduren in allen Modulen zugegriffen werden. Bei Verwendung in einem Modul (mit einer Option Private-Anweisung) kann auf die Prozedur nur innerhalb des Projekts zugegriffen werden.
Private Optional. Auf die Property Set-Prozedur kann nur durch andere Prozeduren in dem Modul zugegriffen werden, in dem sie deklariert wurde.
Static Optional. Die lokalen Variablen der Property Set-Prozedur bleiben zwischen Aufrufen erhalten. Das Attribut Static wirkt sich nicht auf Variablen aus, die außerhalb der Property Set-Prozedur deklariert wurden, auch wenn sie in der Prozedur verwendet werden.
Name Erforderlich. Name der Property Set-Prozedur gemäß den Standardkonventionen für Namen von Variablen, mit der Ausnahme, daß der Name mit dem Namen einer Property Get- oder Property Let-Prozedur in demselben Modul übereinstimmen kann.
ArgListe Erforderlich. Variablenliste mit den Argumenten, die an die Property Set-Prozedur beim Aufruf übergeben werden. Mehrere Argumente werden durch Kommas getrennt.
Verweis Erforderlich. Variable, die den Objektverweis enthält, der auf der rechten Seite der Zuweisung eines Objektverweises verwendet wird.
Anweisungen Optional. Eine beliebige Gruppe auszuführender Anweisungen im Rumpf der Property-Prozedur.

Das Argument ArgListe verwendet die folgende Syntax und die folgenden Teile:

[Optional] [ByVal | ByRef] [ParamArray] VarName[( )] [As Typ] [= Standardwert]

Teil Beschreibung
Optional Optional. Ein Argument ist nicht erforderlich. Alle im Anschluß an Optional in ArgListe angegebenen Argumente müssen ebenfalls optional und mit dem Schlüsselwort Optional deklariert sein. Beachten Sie, daß der rechte Teil eines Property Set-Ausdrucks nicht Optional sein kann.
ByVal Optional. Das Argument wird als Wert übergeben.
ByRef Optional. Das Argument wird als Referenz übergeben. ByRef ist die Voreinstellung in Visual Basic.
ParamArray Optional. Wird nur als letztes Argument in ArgListe verwendet, um anzuzeigen, daß das letzte Argument ein Optional-Datenfeld mit Variant-Elementen ist. Das Schlüsselwort ParamArray ermöglicht Ihnen, eine beliebige Anzahl von Argumenten bereitzustellen. ParamArray darf nicht zusammen mit ByVal, ByRef oder Optional verwendet werden.
Varname Erforderlich. Name der Variablen, die das Argument darstellt, gemäß den Standardkonventionen für Namen von Variablen.
Typ Optional. Datentyp des an die Prozedur zu übergebenden Arguments. Zulässige Typen sind: Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (zur Zeit nicht unterstützt), Date, String (nur Zeichenfolgen variabler Länge), Object, Variant. Ist der Parameter nicht Optional, kann auch ein benutzerdefinierter Typ oder ein Objekttyp angegeben werden.
Standardwert Optional. Eine beliebige Konstante oder ein Konstantenausdruck. Nur gültig, wenn der Parameter Optional entspricht. Ist der Typ Object, so kann der explizite Standardwert nur Nothing sein.

Anmerkung Jede Property Set-Anweisung muß mindestens ein Argument für die definierte Prozedur angeben. Dieses Argument (bzw. das letzte Argument in einer Liste von Argumenten) enthält dann den tatsächlichen Objektverweis für die Eigenschaft, wenn die durch Property Set definierte Prozedur aufgerufen wird. In der weiter oben beschriebenen Syntax wird dieses Argument als Verweis bezeichnet. Es kann nicht Optional sein.

Bemerkungen

Property-Prozeduren sind standardmäßig öffentlich, wenn sie nicht explizit mit Public oder Private festgelegt werden. Wird Static nicht angegeben, so bleiben die Werte lokaler Variablen zwischen den Aufrufen nicht erhalten.

Der gesamte ausführbare Code muß sich in Prozeduren befinden. Innerhalb einer Property-, Sub- oder Function-Prozedur kann keine Property Set-Prozedur definiert werden.

Die Exit Property-Anweisung führt zum unmittelbaren Verlassen einer Property Set-Prozedur. Die Programmausführung wird mit der Anweisung fortgesetzt, die auf die Anweisung folgt, die die Property Set-Prozedur aufgerufen hat. Exit Property-Anweisungen können beliebig oft an beliebigen Stellen innerhalb einer Property Set-Prozedur verwendet werden.

Wie bei der Function- und Property Get-Prozedur handelt es sich bei der Property Set-Prozedur um eine eigenständige Prozedur, die Argumente erhalten, eine Reihe von Anweisungen ausführen und die Werte der übergebenen Argumente ändern kann. Im Gegensatz zu Function- und Property Get-Prozedur, die beide einen Wert zurückgeben, kann eine Property Set-Prozedur nur auf der linken Seite einer Zuweisung für einen Objektverweis (Set-Anweisung) verwendet werden.