Property Set-AnweisungProperty Set statement

Gibt den Namen, Argumente und Code für den Textkörper einer Eigenschaften-Prozedur an, die einen Bezug auf ein Objekt festlegt.Declares the name, arguments, and code that form the body of a Property procedure, which sets a reference to an object.

SyntaxSyntax

[ Public | Private | Friend ] [ Static ] Property Setname ( [ arglist ], reference )[ Public | Private | Friend ] [ Static ] Property Setname ( [ arglist ], reference )
[ statements ][ statements ]
[ Beenden-Eigenschaft ][ Exit Property ]
[ statements ][ statements ]
End-EigenschaftEnd Property


Die Syntax der Property Set-Anweisung umfasst die folgenden Komponenten:The Property Set statement syntax has these parts:

TeilPart BeschreibungDescription
OptionalOptional Optional.Optional. Gibt an, ob das Argument von der aufrufenden Prozedur bereitgestellt wird.Indicates that the argument may or may not be supplied by the caller.
PublicPublic Optional.Optional. Gibt an, dass auf die Property Set-Prozedur von allen anderen Prozeduren in allen Modulen zugegriffen werden kann.Indicates that the Property Set procedure is accessible to all other procedures in all modules. Bei Verwendung in einem Modul mit einer Option Private-Anweisung ist die Prozedur nicht außerhalb des Projekts verfügbar.If used in a module that contains an Option Private statement, the procedure is not available outside the project.
PrivatePrivate Optional.Optional. Gibt an, dass die Property Set-Prozedur nur für Prozeduren in dem Modul zugänglich ist, in dem sie deklariert wurde.Indicates that the Property Set procedure is accessible only to other procedures in the module where it is declared.
FriendFriend Optional.Optional. Wird nur in einem Klassenmodul verwendet.Used only in a class module. Gibt an, dass die Property Get-Prozedur im gesamten Projekt sichtbar ist, jedoch nicht für den Controller einer Objektinstanz.Indicates that the Property Set procedure is visible throughout the project, but not visible to a controller of an instance of an object.
StaticStatic Optional.Optional. Gibt an, dass die lokalen Variablen der Property Set-Prozedur zwischen den Aufrufen beibehalten werden.Indicates that the Property Set procedure's local variables are preserved between calls. Das Static-Attribut wirkt sich auch dann nicht auf Variablen aus, die außerhalb der Property Set-Prozedur deklariert werden, wenn sie in der Prozedur verwendet werden.The Static attribute doesn't affect variables that are declared outside the Property Set procedure, even if they are used in the procedure.
namename Erforderlich.Required. Name der Property Set-Prozedur; folgt Standardnamenskonventionen für Variablen, mit der Ausnahme, dass der Name derselbe sein kann wie der einer** Property Get**- oder Property Let- Prozedur im selbem Modul.Name of the Property Set procedure; follows standard variable naming conventions, except that the name can be the same as a Property Get or Property Let procedure in the same module.
arglistarglist Erforderlich.Required. Eine Liste mit Variablen, die die Argumente darstellen, die beim Aufruf an die Property Set-Prozedur weitergegeben werden.List of variables representing arguments that are passed to the Property Set procedure when it is called. Mehrere Argumente werden durch Kommas getrennt.Multiple arguments are separated by commas.
Referenzreference Erforderlich.Required. Variable mit dem Objektverweis, der auf der rechten Seite der Zuweisung eines Objektverweises verwendet wird.Variable containing the object reference used on the right side of the object reference assignment.
statementsstatements Optional.Optional. Eine Gruppe von Anweisungen, die in der Property Set-Prozedur ausgeführt werden sollen.Any group of statements to be executed within the body of the Property procedure.

Das arglist-Argument weist die folgende Syntax und folgende Teile auf:The arglist argument has the following syntax and parts:

[ Optional ] [ ByVal | ByRef ] [ ParamArray ] varname [()] [ As Type ] [ = DefaultValue ][ Optional ] [ ByVal | ByRef ] [ ParamArray ] varname [ ( ) ] [ As type ] [ = defaultvalue ]


TeilPart BeschreibungDescription
OptionalOptional Optional.Optional. Gibt an, dass ein Argument nicht erforderlich ist.Indicates that an argument is not required. Wenn verwendet, müssen alle nachfolgenden Argumente in arglist optional sein und mithilfe des Schlüsselworts Optional deklariert werden.If used, all subsequent arguments in arglist must also be optional and declared by using the Optional keyword. Beachten Sie, dass die rechte Seite des Property Set-Ausdrucks nicht Optional sein kann.Note that it is not possible for the right side of a Property Set expression to be Optional.
ByValByVal Optional.Optional. Gibt an, dass das Argument nach Wert übergeben wird.Indicates that the argument is passed by value.
ByRefByRef Optional.Optional. Gibt an, dass das Argument nach Verweis übergeben wird.Indicates that the argument is passed by reference. ByRef ist die Standardeinstellung in Visual Basic.ByRef is the default in Visual Basic.
ParamArrayParamArray Optional.Optional. Wird lediglich als letztes Argument in arglist verwendet, um anzuzeigen, dass das letzte Argument ein Optional-Array von Variant-Elementen ist.Used only as the last argument in arglist to indicate that the final argument is an Optional array of Variant elements. Mit dem Schlüsselwort ParamArray können Sie eine beliebige Anzahl von Argumenten bereitstellen.The ParamArray keyword allows you to provide an arbitrary number of arguments. Es darf jedoch nicht zusammen mit ByVal, ByRef oder Optional verwendet werden.It may not be used with ByVal, ByRef, or Optional.
varnamevarname Erforderlich.Required. Name der Variable, die das Argument darstellt; folgt den Standardbenennungskonventionen für Variablen.Name of the variable representing the argument; follows standard variable naming conventions.
typetype Optional.Optional. Datentyp des Arguments, das an die Prozedur weitergegeben wird. KannByte, Boolean, Integer, Long, Currency, Single, Double, Decimal (derzeit nicht unterstützt), Date, String (nur Variablenlänge), Object, Variant oder ein spezifischer Objekttyp.Data type of the argument passed to the procedure; may be Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (not currently supported), Date, String (variable length only), Object, Variant, or a specific object type. Wenn der Parameter nicht Optional lautet, kann auch ein benutzerdefinierter Typ angegeben werden.If the parameter is not Optional, a user-defined type may also be specified.
defaultvaluedefaultvalue Optional.Optional. Eine beliebige Konstante oder ein Konstantenausdruck.Any constant or constant expression. Gilt nur für den Parameter Optional.Valid for Optional parameters only. Wenn der Typ Object ist, kann ein expliziter Standardwert nur Nothing lauten.If the type is an Object, an explicit default value can only be Nothing.

Hinweis

Jede Property Set-Anweisung muss mindestens ein Argument für die Prozedur definieren, die es definiert.Every Property Set statement must define at least one argument for the procedure it defines. Das Argument (oder das letzte Argument, wenn es mehr als ein Argument gibt) enthält die aktuelle Objektreferenz für die Eigenschaft, wenn das Verfahren, das durch die Property Set-Anweisung definiert wird, aufgerufen wird.That argument (or the last argument if there is more than one) contains the actual object reference for the property when the procedure defined by the Property Set statement is invoked. Es wird in der vorausgehenden Syntax als reference bezeichnet.It is referred to as reference in the preceding syntax. Es kann nicht Optional sein.It can't be Optional.

HinweiseRemarks

Wenn nicht mithilfe von Public, Private oder Friend explizit angegeben, sind Property-Prozduren standardmäßig öffentlich.If not explicitly specified by using Public, Private, or Friend, Property procedures are public by default. Wenn Static nicht verwendet wird, wird der Wert der lokalen Variablen zwischen Aufrufen nicht beibehalten.If Static isn't used, the value of local variables is not preserved between calls.

Das Schlüsselwort Friend kann nur in Klassenmodulen verwendet werden.The Friend keyword can only be used in class modules. Auf Friend-Prozeduren kann jedoch durch Prozeduren in jedem beliebigen Modul eines Projekts zugegriffen werden.However, Friend procedures can be accessed by procedures in any module of a project. Eine Friend-Prozedur wird weder in der Typbibliothek ihrer übergeordneten Klasse angezeigt noch kann eine Friend-Prozedur spät gebunden werden.A Friend procedure doesn't appear in the type library of its parent class, nor can a Friend procedure be late bound.

Der gesamte ausführbare Code muss in Prozeduren enthalten sein.All executable code must be in procedures. Sie können keine Property Set-Prozedur in einer anderen Property-, Sub- oder Function-Prozedur definieren.You can't define a Property Set procedure inside another Property, Sub, or Function procedure.

Die Exit Property-Anweisung verursacht einen sofortigen Schließvorgang einer Property Set-Prozedur.The Exit Property statement causes an immediate exit from a Property Set procedure. Das Programm wird weiterhin mit der Anweisung ausgeführt, die auf die Anweisung folgt, die die Property Set-Prozedur aufgerufen hat.Program execution continues with the statement following the statement that called the Property Set procedure. Eine beliebige Anzahl von Exit Property-Anweisungen kann an beliebiger Stelle in einer Property Set-Prozedur vorkommen.Any number of Exit Property statements can appear anywhere in a Property Set procedure.

Wie die Function - oder Property Get -Prozedur ist auch die Property Set -Prozedur eine eigenständige Prozedur, die Argumente erhalten, eine Reihe von Anweisungen ausführen und die Werte ihrer Argumente ändern kann.Like a Function and Property Get procedure, a Property Set procedure is a separate procedure that can take arguments, perform a series of statements, and change the value of its arguments. Im Gegensatz zu einer Function- und einer Property Get-Prozedur, die beide einen Wert zurückgeben, können Sie eine Property Set-Prozedur jedoch nur auf der linken Seite einer Objektreferenzzuweisung oder einer Set-Anweisung verwenden.However, unlike a Function and Property Get procedure, both of which return a value, you can only use a Property Set procedure on the left side of an object reference assignment or Set statement.

BeispielExample

In diesem Beispiel wird die Property Set-Anweisung verwendet, um eine Eigenschaftenprozedur zu definieren, die eine Referenz auf ein Objekt festlegt.This example uses the Property Set statement to define a property procedure that sets a reference to an object.

' The Pen property may be set to different Pen implementations. 
Property Set Pen(P As Object) 
 Set CurrentPen = P ' Assign Pen to object. 
End Property

Siehe auchSee also

Support und FeedbackSupport and feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation?Have questions or feedback about Office VBA or this documentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.