Freigeben über


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.

Betrifft: Die Informationen in diesem Thema betreffen Projekte auf Dokument- und auf Anwendungsebene für Office 2013 und Office 2010. Weitere Informationen finden Sie unter Verfügbare Funktionen nach Office-Anwendung und Projekttyp.

Gewusst wie: 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 Projekt auf Anwendungsebene.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 Zugreifen auf die Multifunktionsleiste zur Laufzeit.

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

  • Ein Factoryobjekt, das Ihnen ermöglicht, Menübandsteuerelemente zu erstellen und Hostelemente zur Laufzeit in Projekten, die .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:

Sie können 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 Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
    Handles Button1.Click
    Globals.Sheet1.NamedRange1.Value2 = Me.TextBox1.Text
End Sub
private void button1_Click(object sender, EventArgs e)
{
    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.

HinweisHinweis

Die Globals-Klasse wird zur Entwurfszeit nie initialisiert, vom Designer werden jedoch Steuerelementinstanzen erstellt.Dies bedeutet, dass Sie beim Erstellen eines Benutzersteuerelements mit einer Eigenschaft der Globals-Klasse innerhalb einer Benutzersteuerelementklasse überprüfen müssen, ob die Eigenschaft null zurückgibt, bevor Sie das zurückgegebene Objekt verwenden.

Siehe auch

Konzepte

Zugreifen auf die Multifunktionsleiste zur Laufzeit

Zugreifen auf einen Formularbereich zur Laufzeit

Übersicht über Hostelemente und Hoststeuerelemente

Dokumenthostelement

Arbeitsmappenhostelement

Arbeitsblatthostelement

Schreiben von Code in Office-Projektmappen