VBA-Programmierung in Microsoft Excel

Tutorial: Excel-Beispiele

VBA-Begriff: Property Get-Anweisung

Deklariert den Namen, die Argumente und den Code für den Rumpf einer Property-Prozedur, der der Wert einer Eigenschaft übergeben wird.

Syntax

[Public | Private] [Static] Property Get Name [(ArgListe)] [As Typ]
[Anweisungen]
[Name = Ausdruck]
[Exit Property]
[Anweisungen]
[Name = Ausdruck]

End Property

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

Teil Beschreibung
Public Optional. Auf die Property Get-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 Get-Prozedur kann nur durch andere Prozeduren aus dem Modul zugegriffen werden, in dem sie deklariert wurde.
Static Optional. Die lokalen Variablen der Property Get-Prozedur bleiben zwischen Aufrufen erhalten. Das Attribut Static wirkt sich nicht auf Variablen aus, die außerhalb der Property Get-Prozedur deklariert wurden, auch wenn sie in der Prozedur verwendet werden.
Name Erforderlich. Name der Property Get-Prozedur gemäß den Standardkonventionen für Namen von Variablen, mit der Ausnahme, daß der Name mit dem Namen der Property Let- oder Property Set-Prozedur in demselben Modul übereinstimmen kann.
ArgListe Optional. Variablenliste mit den Argumenten, die an die Property Get-Prozedur beim Aufruf übergeben werden. Mehrere Argumente werden durch Kommas getrennt. Der Name und der Datentyp aller Argumente in einer Property Get-Prozedur müssen mit dem Namen und Datentyp des entsprechenden Arguments in einer Property Let-Prozedur übereinstimmen (sofern eine solche existiert).
Typ Optional. Datentyp des Werts, der von der Property Get-Prozedur zurückgegeben wird. Zulässige Typen sind: Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (zur Zeit nicht unterstützt), Date, String (außer Zeichenfolgen fester Länge), Object, Variant, ein benutzerdefinierter Typ und Datenfelder.

Der Typ des Rückgabewerts einer Property Get-Prozedur muß mit dem Datentyp übereinstimmen, den das letzte (oder ggf. einzige) Argument der entsprechenden Property Let-Prozedur hat (sofern eine solche existiert), die den Wert definiert, der der Eigenschaft auf der rechten Seite eines Ausdrucks zugewiesen wird.

Anweisungen Optional. Eine beliebige Gruppe auszuführender Anweisungen im Rumpf der Property Get-Prozedur.
Ausdruck Optional. Wert der Eigenschaft, die von der Prozedur zurückgegeben wird, die durch die Property Get-Anweisung definierten wurde.

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

[Optional] [ByVal | ByRef] 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 sein und mit dem Schlüsselwort Optional deklariert werden.
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. Entspricht 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.

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 Aufrufen nicht erhalten.

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

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

Wie bei der Sub- und Property Let-Prozedur handelt es sich bei der Property Get-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 einer Sub- oder Property Let-Prozedur kann eine Property Get-Prozedur auf der rechten Seite eines Ausdrucks verwendet werden (wie eine Function-Prozedur oder der Name einer Eigenschaft, wenn deren Wert zurückgegeben werden soll).