Globaler Zugriff auf eigene Objekte in Visual Studio Tools for Office-Projekte

Aktualisiert: November 2007

Mit der Globals-Klasse können Sie von beliebigem Code im Projekt aus auf mehrere verschiedene Projektelemente zugreifen.

Verwenden von Globals

Globals ist eine statische Klasse, in der Verweise auf Elemente im Projekt abgelegt sind. Mit der Globals-Klasse können Sie von beliebigem Code im Projekt auf die folgenden Elemente verweisen:

  • Das Workbook-Hostelement oder ein beliebiges Worksheet-Hostelement in einer Excel-Arbeitsmappe oder einem Vorlagenprojekt. Auf diese Hostelemente können Sie mit den Eigenschaften der Globals-Klasse zugreifen, die auf jedes Hostelement im Projekt verweisen. Standardmäßig sind die Hostelementnamen ThisWorkbook, Sheet1, Sheet2 und Sheet3.

  • Das Document-Hostelement in einem Word-Dokument oder einem Vorlagenprojekt. Der Standardname für diese Hostelementeigenschaft ist Globals.ThisDocument.

  • Das AddIn-Hostelement in einem Projekt auf Anwendungsebene. Der Standardname für diese Hostelementeigenschaft ist Globals.ThisAddIn.

  • Alle Multifunktionsleisten im Projekt, das Sie mit dem Multifunktionsleisten-Designer angepasst haben. Sie können auf die Multifunktionsleisten zugreifen, indem Sie die Globals.Ribbons-Eigenschaft verwenden.

  • Alle Outlook-Formularbereiche in einem Add-In-Projekt für Outlook. Sie können auf die Formularbereiche zugreifen, indem Sie die Globals.FormRegions-Eigenschaft verwenden.

Sie können beispielsweise Code schreiben, um Text in ein NamedRange-Steuerelement in Sheet1 einzufügen, wenn ein Benutzer im Aktionsbereich auf eine Schaltfläche klickt. Dies wird im folgenden Beispiel veranschaulicht.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
    Handles Button1.Click

    If Globals.Sheet1 IsNot Nothing Then
        Globals.Sheet1.NamedRange1.Value2 = Me.TextBox1.Text
    End If

End Sub
        private void button1_Click(object sender, EventArgs e)
        {
        if (Globals.Sheet1 != null)
            {
                Globals.Sheet1.namedRange1.Value2 = this.textBox1.Text;
            }
        }

Initialisieren der Globals-Klasse

Wenn vor der vollständigen Initialisierung des Dokuments oder des Add-Ins versucht wird, im Code die Globals-Klasse zu verwenden, kann dies unter Umständen eine Laufzeitausnahme auslösen. So kann beispielsweise die Verwendung von Globals beim Deklarieren einer Variablen auf Klassenebene fehlschlagen, da die Globals-Klasse vor der Instanziierung des deklarierten Objekts möglicherweise noch nicht mit Verweisen auf alle Hostelemente initialisiert wurde.

Hinweis:

Die Globals-Klasse wird zur Entwurfszeit nie initialisiert, vom Designer werden jedoch Steuerelementinstanzen erstellt. Dies bedeutet, dass Sie zum Erstellen eines Benutzersteuerelements, das Methoden der Globals-Klasse aufruft, Code schreiben müssen, mit dem überprüft wird, ob die Methode null zurückgibt, bevor Sie auf diese Methode zugreifen.

Siehe auch

Konzepte

Zugreifen auf die Multifunktionsleiste zur Laufzeit

Zugreifen auf einen Formularbereich zur Laufzeit

Übersicht über Hostelemente und Hoststeuerelemente

AddIn-Hostelement

Dokumenthostelement

Arbeitsmappenhostelement

Arbeitsblatthostelement

Schreiben von Code in Office-Projektmappen