Set-AnweisungSet statement

Weist einer Variable oder Eigenschaft einen Objektverweis zu.Assigns an object reference to a variable or property.

SyntaxSyntax

Festgelegt ObjektVar = {[ New ] objecttext | Nothing }Setobjectvar = {[ New ] objectexpression | Nothing }


Die Syntax der Set-Anweisung enthält die folgenden Bestandteile:The Set statement syntax has these parts:

TeilPart BeschreibungDescription
ObjektVarobjectvar Erforderlich.Required. Name der Variable oder Eigenschaft; entspricht Standardbenennungsregeln.Name of the variable or property; follows standard variable naming conventions.
NewNew Optional.Optional. New wird normalerweise in der Deklaration verwendet, um die implizite Objekterstellung zu ermöglichen.New is usually used during declaration to enable implicit object creation. Wenn New in Verbindung mit Set verwendet wird, wird eine neue Instanz der Klasse erstellt.When New is used with Set, it creates a new instance of the class. Wenn objectvar bereits einen Verweis auf ein Objekt enthält, wird dieser Verweis beim Zuweisen des neuen Verweises freigegeben.If objectvar contained a reference to an object, that reference is released when the new one is assigned. Das New - Schlüsselwort kann nicht verwendet werden, um neue Instanzen eines systeminternen Datentyps zu erstellen und kann nicht verwendet werden, um abhängige Objekte zu erstellen. The New keyword can't be used to create new instances of any intrinsic data type and can't be used to create dependent objects.
objectexpressionobjectexpression Erforderlich.Required. Ausdruck aus dem Namen eines Objekts, einer weiteren deklarierten Variable des gleichen Objekttyps oder einer Funktion oder Methode die ein Objekt des gleichen Objekttyps zurückgibt.Expression consisting of the name of an object, another declared variable of the same object type, or a function or method that returns an object of the same object type.
NothingNothing Optional.Optional. Bricht die Zuordnung von objectvar zu einem spezifischen Objekt ab.Discontinues association of objectvar with any specific object. Das Zuweisen von Nothing zu ObjektVar gibt alle System-und Arbeitsspeicherressourcen frei, die dem zuvor referenzierten Objekt zugeordnet sind, wenn keine andere Variable darauf verweist.Assigning Nothing to objectvar releases all the system and memory resources associated with the previously referenced object when no other variable refers to it.

BemerkungenRemarks

Damit objectvar gültig ist, muss es sich um einen Objekttyp handeln, der dem zugewiesenen Objekt entspricht.To be valid, objectvar must be an object type consistent with the object being assigned to it.

Die Anweisungen Dim, Private, Public, ReDim und Static deklarieren lediglich eine Variable, die auf ein Objekt verweist.The Dim, Private, Public, ReDim, and Static statements only declare a variable that refers to an object. Es wird kein tatsächliches Objekt referenziert, bis Sie mit der Set -Anweisung ein spezifisches Objekt zuweisen.No actual object is referred to until you use the Set statement to assign a specific object.

Das folgende Beispiel veranschaulicht, wie Dim verwendet wird, um ein Array mit dem Form1Typ zu deklarieren.The following example illustrates how Dim is used to declare an array with the type Form1. Es ist keine Instanz von Form1 vorhanden.No instance of Form1 actually exists. Anschließend werden mit Set Verweise auf neue Instanzen von Form1 der Variable myChildForms zugewiesen.Set then assigns references to new instances of Form1 to the myChildForms variable. Code dieser Art kann zum Erstellen von untergeordneten Formularen in einer MDI-Anwendung verwendet werden.Such code might be used to create child forms in an MDI application.

Dim myChildForms(1 to 4) As Form1 
Set myChildForms(1) = New Form1 
Set myChildForms(2) = New Form1 
Set myChildForms(3) = New Form1 
Set myChildForms(4) = New Form1 

Wenn Sie mit Set einer Variable einen Objektverweis zuordnen, wird grundsätzlich kein Objekt für diese Variable erstellt.Generally, when you use Set to assign an object reference to a variable, no copy of the object is created for that variable. Stattdessen wird ein Verweis auf das Objekt erstellt.Instead, a reference to the object is created. Es können mehrere Objektvariablen auf dasselbe Objekt verweisen.More than one object variable can refer to the same object. Da diese Variablen Verweise auf das Objekt sind und keine Kopien des Objekts, finden sich Änderungen am Objekt in allen Variablen wieder, die darauf verweisen.Because such variables are references to the object rather than copies of the object, any change in the object is reflected in all variables that refer to it. Wenn Sie jedoch das Schlüsselwort New in der Set-Anweisung verwenden, erstellen Sie tatsächlich eine Instanz des Objekts.However, when you use the New keyword in the Set statement, you are actually creating an instance of the object.

BeispielExample

In diesem Beispiel werden mit der Set -Anweisung Variablen Objektverweise zugewiesen.This example uses the Set statement to assign object references to variables. YourObject wird als gültiges Objekt mit einer Text-Eigenschaft angenommen.YourObject is assumed to be a valid object with a Text property.

Dim YourObject, MyObject, MyStr 
Set MyObject = YourObject    ' Assign object reference. 
' MyObject and YourObject refer to the same object. 
YourObject.Text = "Hello World"    ' Initialize property. 
MyStr = MyObject.Text    ' Returns "Hello World". 
 
' Discontinue association. MyObject no longer refers to YourObject. 
Set MyObject = Nothing    ' Release the object. 

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.