Erstellen von Objektvariablen

Sie können eine Objektvariable genauso behandeln wie das Objekt, auf das sie verweist. Sie können die Eigenschaften des Objekts festlegen oder zurückgeben oder eine beliebige seiner Methoden aufrufen.

Erstellen einer Objektvariablen

  1. Deklarieren Sie die Objektvariable.

  2. Weisen Sie die Objektvariable einem Objekt zu.

Deklarieren einer Objektvariablen

Verwenden Sie die Dim-Anweisung oder eine der anderen Deklarationsanweisungen (Public, Private oder Static), um eine Objektvariable zu deklarieren. Eine Variable , die auf ein Objekt verweist, muss ein Variant-Objekt, ein Objekt oder ein bestimmter Objekttyp sein. Beispielsweise sind die folgenden Deklarationen zulässig:

' Declare MyObject as Variant data type. 
Dim MyObject 
' Declare MyObject as Object data type. 
Dim MyObject As Object 
' Declare MyObject as Font type. 
Dim MyObject As Font 

Hinweis

[!HINWEIS] Wenn Sie eine Objektvariable verwenden, ohne sie vorher zu deklarieren, lautet der Datentyp der Objektvariablen standardmäßig Variant.

Die Deklaration einer Objektvariablen mit dem Datentyp Object bietet sich an, wenn der genaue Objekttyp vor dem Ausführen der Prozedur nicht bekannt ist. Verwenden Sie den Datentyp Object, um einen allgemeinen Verweis auf ein beliebiges Objekt zu erstellen.

Ist Ihnen der spezifische Objekttyp bekannt, dann sollten Sie die Objektvariable mit diesem Typ deklarieren. Wenn die Anwendung beispielsweise einen Sample-Objekttyp enthält, können Sie eine Objektvariable für dieses Objekt deklarieren, indem Sie eine der folgenden Anweisungen verwenden:

Dim MyObject As Object ' Declared as generic object. 
Dim MyObject As Sample ' Declared only as Sample object. 

Die Deklaration spezifischer Objekttypen ermöglicht automatische Typüberprüfungen, schnelleren Code und verbesserte Verständlichkeit.

Zuweisen einer Objektvariablen zu einem Objekt

Verwenden Sie die Set-Anweisung , um einer Objektvariablen ein Objekt zuzuweisen. Sie können einen Objektausdruck oder Nothing zuweisen. Beispielsweise sind die folgenden Objektvariablenzuweisungen gültig.

Set MyObject = YourObject ' Assign object reference. 
Set MyObject = Nothing ' Discontinue association. 

Sie können die Deklaration einer Objektvariablen mit der Zuweisung eines Objekts kombinieren, indem Sie das SchlüsselwortNew mit der Set -Anweisung verwenden. Beispiel:

Set MyObject = New Object ' Create and Assign 

Wenn Sie eine Objektvariable auf Nothing festlegen, wird die Zuordnung der Objektvariablen zu einem bestimmten Objekt beendet. Dadurch wird verhindert, dass Sie versehentlich das Objekt ändern, indem Sie die Variable ändern. Eine Objektvariable wird nach dem Schließen des zugeordneten Objekts immer auf Nothing festgelegt, sodass Sie testen können, ob die Objektvariable auf ein gültiges Objekt verweist. Beispiel:

If Not MyObject Is Nothing Then 
 ' Variable refers to valid object. 
 . . . 
End If 

Natürlich kann dieser Test nie mit absoluter Sicherheit feststellen, ob ein Benutzer die Anwendung geschlossen hat, die das Objekt enthält, auf das die Objektvariable verweist.

Verweisen auf die aktuelle Instanz eines Objekts

Verwenden Sie das Schlüsselwort Me , um auf die aktuelle Instanz des Objekts zu verweisen, in dem der Code ausgeführt wird. Alle mit dem aktuellen Objekt verbundenen Prozeduren haben Zugriff auf das Objekt, auf das mit Me verwiesen wird. Die Verwendung von Me eignet sich besonders gut, um Informationen über die aktuelle Instanz eines Objekts an eine Prozedur in einem anderen Modul zu übergeben. Nehmen Sie z. B. an, dass die folgende Prozedur Teil eines Moduls ist:

Sub ChangeObjectColor(MyObjectName As Object) 
 MyObjectName.BackColor = RGB(Rnd * 256, Rnd * 256, Rnd * 256) 
End Sub

Sie können die -Prozedur aufrufen und die aktuelle Instanz des -Objekts als Argument übergeben, indem Sie die folgende Anweisung verwenden:

ChangeObjectColor Me 

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.