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 Object-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 mithilfe einer der folgenden Anweisungen deklarieren:

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 ein Objekt einer Objektvariablen zuzuordnen. 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 das Deklarieren einer Objektvariablen mit dem Zuweisen eines Objekts kombinieren, indem Sie das Schlüsselwort New 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 mit einem bestimmten Objekt eingestellt. Dadurch wird verhindert, dass Sie das Objekt versehentlich ändern, indem Sie die Variable ändern. Eine Objektvariable wird nach dem Schließen des zugeordneten Objekts immer auf Nothing festgelegt, damit 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 bei diesem Test nie mit absoluter Sicherheit bestimmt werden, ob ein Benutzer die Anwendung geschlossen hat, die das Objekt enthält, auf das sich die Objektvariable bezieht.

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.