Share via


Globální přístup k objektům v projektech Office

Když vytvoříte projekt Office, Visual Studio automaticky vygeneruje třídu pojmenovanou Globals v projektu. Třídu Globals můžete použít k přístupu k několika různým položkám projektu za běhu z libovolného kódu v projektu.

Platí pro: Informace v tomto tématu platí pro projekty na úrovni dokumentu a projekty doplňků VSTO. Viz Funkce dostupné podle typu aplikace Office lication a projektu.

Jak používat třídu Globals

Globals je statická třída, která uchovává odkazy na určité položky v projektu. Globals Pomocí třídy můžete přistupovat k následujícím položkám z libovolného kódu v projektu za běhu:

  • Třídy ThisWorkbook a Sheetn v projektu excelového sešitu nebo šablony K těmto objektům můžete přistupovat pomocí Globals.ThisWorkbook vlastností a Sheetn .

  • Třída ThisDocument v projektu wordového dokumentu nebo šablony K tomuto objektu Globals.ThisDocument můžete přistupovat pomocí vlastnosti.

  • Třída ThisAddIn v projektu doplňku VSTO. K tomuto objektu Globals.ThisAddIn můžete přistupovat pomocí vlastnosti.

  • Všechny pásy karet v projektu, které jste přizpůsobili pomocí Návrháře pásu karet. K pásům karet se dostanete pomocí Globals.Ribbons vlastnosti. Další informace najdete v tématu Přístup k pásu karet za běhu.

  • Všechny oblasti formuláře Outlooku v projektu doplňku Outlook VSTO K oblastem formuláře se dostanete pomocí Globals.FormRegions vlastnosti. Další informace najdete v tématu Přístup k oblasti formuláře za běhu.

  • Objekt továrny, který umožňuje vytvářet ovládací prvky pásu karet a hostovat položky za běhu v projektech, které cílí na rozhraní .NET Framework 4 nebo .NET Framework 4.5. K tomuto objektu Globals.Factory můžete přistupovat pomocí vlastnosti. Tento objekt je instance třídy, která implementuje jedno z následujících rozhraní:

    Vlastnost můžete například použít Globals.Sheet1 k vložení textu do NamedRange ovládacího prvku Sheet1 , když uživatel klikne na tlačítko v podokně akcí v projektu na úrovni dokumentu pro Excel.

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

Kód, který se pokusí použít Globals třídu před inicializovaným dokumentem nebo doplňkem VSTO, může vyvolat výjimku za běhu. Například použití Globals při deklarování proměnné na úrovni třídy může selhat, protože Globals třída nemusí být inicializována s odkazy na všechny položky hostitele před vytvořením instance deklarovaného objektu.

Poznámka:

Třída Globals není nikdy inicializována v době návrhu, ale řídicí instance jsou vytvořeny návrhářem. To znamená, že pokud vytvoříte uživatelský ovládací prvek, který používá vlastnost Globals třídy z třídy uživatelského ovládacího prvku, musíte zkontrolovat, zda vlastnost vrací hodnotu null , než se pokusíte použít vrácený objekt.