Globaler Zugriff auf Objekte in Office-Projekten

Wenn Sie ein Office-Projekt erstellen, generiert Visual Studio im Projekt automatisch eine Klasse mit dem Namen Globals . Mit der Globals -Klasse können Sie von beliebigem Code im Projekt aus zur Laufzeit auf mehrere verschiedene Projektelemente zugreifen.

Gilt für: Die Informationen in diesem Thema gelten für Projekte auf Dokumentebene und VSTO-Add-In-Projekte. Siehe features available by Office-App lication and project type.

Verwenden der Globals-Klasse

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

  • Die - ThisWorkbook und Sheetn -Klassen in einer Excel-Arbeitsmappe oder einem Vorlagenprojekt. Sie können mit den Globals.ThisWorkbook - und Sheetn -Eigenschaften auf diese Objekte zugreifen.

  • Die ThisDocument -Klasse in einem Word-Dokument oder einem Vorlagenprojekt. Sie können mit der Globals.ThisDocument -Eigenschaft auf dieses Objekt zugreifen.

  • Die ThisAddIn Klasse in einem VSTO-Add-In-Projekt. Sie können mit der Globals.ThisAddIn -Eigenschaft auf dieses Objekt zugreifen.

  • Alle Menübänder im Projekt, das Sie mit dem Menüband-Designer angepasst haben. Sie können mit der Globals.Ribbons -Eigenschaft auf die Menübänder zugreifen. Weitere Informationen finden Sie unter Access the Ribbon zur Laufzeit.

  • Alle Outlook-Formularbereiche in einem VSTO-Add-In-Projekt für Outlook. Sie können mit der Globals.FormRegions -Eigenschaft auf die Formularbereiche zugreifen. Weitere Informationen finden Sie unter Access für einen Formularbereich zur Laufzeit.

  • Ein Factoryobjekt, mit dem Sie Menübandsteuerelemente erstellen und Elemente zur Laufzeit in Projekten hosten können, die auf .NET Framework 4 oder .NET Framework 4.5 abzielen. Sie können mit der Globals.Factory -Eigenschaft auf dieses Objekt zugreifen. Dieses Objekt ist eine Instanz einer Klasse, die eine der folgenden Schnittstellen implementiert:

    Beispielsweise können Sie Text mithilfe der Globals.Sheet1 -Eigenschaft in ein NamedRange -Steuerelement auf Sheet1 einfügen, wenn ein Benutzer in einem Projekt auf Dokumentebene für Excel auf eine Schaltfläche im Aktionsbereich klickt.

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

Code, der versucht, die Globals Klasse zu verwenden, bevor das Dokument oder das VSTO-Add-In initialisiert wird, löst möglicherweise eine Laufzeit ausnahme aus. 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. Wenn Sie ein Benutzersteuerelement erstellen, das eine Eigenschaft der Globals Klasse aus einer Benutzersteuerelementklasse verwendet, müssen Sie überprüfen, ob die Eigenschaft null zurückgibt, bevor Sie versuchen, das zurückgegebene Objekt zu verwenden.