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
Deklarieren Sie die Objektvariable.
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 zeigt. Zum 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 instance eines Objekts
Verwenden Sie die Me-Schlüsselwort (keyword), um auf die aktuelle instance 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 instance 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.