Freigeben über


Set-Anweisung

Weist einer Variable oder Eigenschaft einen Objektverweis zu.

Syntax

Setobjectvar= {[ New ] objectexpression | Nothing }

Die Syntax der Set-Anweisung enthält die folgenden Bestandteile:

Bestandteil Beschreibung
objectvar Erforderlich. Name der Variable oder Eigenschaft; entspricht Standardbenennungsregeln.
New Optional. New wird normalerweise in der Deklaration verwendet, um die implizite Objekterstellung zu ermöglichen. Wenn New in Verbindung mit Set verwendet wird, wird eine neue Instanz der Klasse erstellt. Wenn objectvar bereits einen Verweis auf ein Objekt enthält, wird dieser Verweis beim Zuweisen des neuen Verweises freigegeben. Die NeueSchlüsselwort (keyword) kann nicht zum Erstellen neuer Instanzen eines systeminternen Datentyps und nicht zum Erstellen abhängiger Objekte verwendet werden.
objectexpression Erforderlich. 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.
Nothing Optional. Bricht die Zuordnung von objectvar zu einem spezifischen Objekt ab. Durch das Zuweisen von Nothing zu objectvar werden alle System- und Arbeitsspeicherressourcen freigegeben, die dem zuvor referenzierten Objekt zugeordnet sind, wenn keine andere Variable darauf verweist.

Hinweise

Damit objectvar gültig ist, muss es sich um einen Objekttyp handeln, der dem zugewiesenen Objekt entspricht.

Die Anweisungen Dim, Private, Public, ReDim und Static deklarieren lediglich eine Variable, die auf ein Objekt verweist. Es wird kein tatsächliches Objekt referenziert, bis Sie mit der Set -Anweisung ein spezifisches Objekt zuweisen.

Das folgende Beispiel veranschaulicht, wie Dim verwendet wird, um ein Array mit dem Typ Form1zu deklarieren. Es ist keine Instanz von Form1 vorhanden. Anschließend werden mit Set Verweise auf neue Instanzen von Form1 der Variable myChildForms zugewiesen. Code dieser Art kann zum Erstellen von untergeordneten Formularen in einer MDI-Anwendung verwendet werden.

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. Stattdessen wird ein Verweis auf das Objekt erstellt. Es können mehrere Objektvariablen auf dasselbe Objekt verweisen. 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. Wenn Sie jedoch das Schlüsselwort New in der Set-Anweisung verwenden, erstellen Sie tatsächlich eine Instanz des Objekts.

Beispiel

In diesem Beispiel werden mit der Set -Anweisung Variablen Objektverweise zugewiesen. YourObject wird als gültiges Objekt mit einer Text-Eigenschaft angenommen.

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 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.