Erstellen von ObjektvariablenCreating object variables

Sie können eine Objektvariable genauso behandeln wie das Objekt, auf das sie verweist.You can treat an object variable exactly the same as the object to which it refers. Sie können die Eigenschaften des Objekts festlegen oder zurückgeben oder eine beliebige seiner Methoden aufrufen.You can set or return the properties of the object or use any of its methods.

Erstellen einer ObjektvariablenCreate an object variable

  1. Deklarieren Sie die Objektvariable.Declare the object variable.

  2. Weisen Sie die Objektvariable einem Objekt zu.Assign the object variable to an object.

Deklarieren einer ObjektvariablenDeclare an object variable

Verwenden Sie die Dim -Anweisung oder eine der anderen Deklarationsanweisungen (Public, privateoder static), um eine Objektvariable zu deklarieren.Use the Dim statement or one of the other declaration statements (Public, Private, or Static) to declare an object variable. Eine Variable , die auf ein Objekt verweist, muss eine Variante, ein Objekt oder ein spezieller Objekttyp sein.A variable that refers to an object must be a Variant, an Object, or a specific type of object. Beispielsweise sind die folgenden Deklarationen zulässig:For example, the following declarations are valid:

' 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.If you use an object variable without declaring it first, the data type of the object variable is Variant by default.

Die Deklaration einer Objektvariablen mit dem Datentyp Object bietet sich an, wenn der genaue Objekttyp vor dem Ausführen der Prozedur nicht bekannt ist.You can declare an object variable with the Object data type when the specific object type is not known until the procedure runs. Verwenden Sie den Datentyp Object, um einen allgemeinen Verweis auf ein beliebiges Objekt zu erstellen.Use the Object data type to create a generic reference to any object.

Ist Ihnen der spezifische Objekttyp bekannt, dann sollten Sie die Objektvariable mit diesem Typ deklarieren.If you know the specific object type, you should declare the object variable as that object type. Wenn die Anwendung beispielsweise einen Beispiel Objekttyp enthält, können Sie eine Objektvariable für dieses Objekt mithilfe einer der folgenden Anweisungen deklarieren:For example, if the application contains a Sample object type, you can declare an object variable for that object by using either of these statements:

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.Declaring specific object types provides automatic type checking, faster code, and improved readability.

Zuweisen einer Objektvariablen zu einem ObjektAssign an object variable to an object

Verwenden Sie die Anweisung festgelegt , um ein Objekt einer Objektvariablen zuzuweisen.Use the Set statement to assign an object to an object variable. Sie können einen Objektausdruck oder Nothing zuweisen.You can assign an object expression or Nothing. Beispielsweise sind die folgenden Objektvariablen Zuordnungen gültig.For example, the following object variable assignments are valid.

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

Sie können das Deklarieren einer Objektvariablen mit dem Zuweisen eines Objekts zu kombinieren, indem Sie das New - Schlüsselwort mit der Anweisung " festgelegt " verwenden.You can combine declaring an object variable with assigning an object to it by using the New keyword with the Set statement. Beispiel:For example:

Set MyObject = New Object ' Create and Assign 

Wenn Sie eine Objektvariable auf Nothing festlegen, wird die Zuordnung der Objektvariablen zu einem bestimmten Objekt fortgesetzt.Setting an object variable equal to Nothing discontinues the association of the object variable with any specific object. Dadurch wird verhindert, dass Sie das Objekt versehentlich ändern, indem Sie die Variable ändern.This prevents you from accidentally changing the object by changing the variable. Eine Objektvariable wird immer auf Nothing festgelegt, nachdem das zugeordnete Objekt geschlossen wurde, sodass Sie testen können, ob die Objektvariable auf ein gültiges Objekt verweist.An object variable is always set to Nothing after closing the associated object so you can test whether the object variable points to a valid object. Zum Beispiel:For example:

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

Selbstverständlich kann dieser Test nie mit absoluter Sicherheit bestimmen, ob ein Benutzer die Anwendung geschlossen hat, die das Objekt enthält, auf das sich die Objektvariable bezieht.Of course, this test can never determine with absolute certainty whether a user has closed the application containing the object to which the object variable refers.

Verweis auf die aktuelle Instanz eines ObjektsRefer to the current instance of an object

Verwenden Sie das Me -Schlüsselwort, um auf die aktuelle Instanz des Objekts zu referenzieren, in dem der Code läuft.Use the Me keyword to refer to the current instance of the object where the code is running. Alle mit dem aktuellen Objekt verbundenen Prozeduren haben Zugriff auf das Objekt, auf das mit Me verwiesen wird.All procedures associated with the current object have access to the object referred to as Me. 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.Using Me is particularly useful for passing information about the current instance of an object to a procedure in another module. Nehmen Sie z. B. an, dass die folgende Prozedur Teil eines Moduls ist:For example, suppose you have the following procedure in a module:

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:You can call the procedure and pass the current instance of the object as an argument by using the following statement:

ChangeObjectColor Me 

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.