共用方式為


Office 專案中物件的全域存取權

當您建立 Office 專案時,Visual Studio 會自動產生專案中命名的 Globals 類別。 您可以使用類別 Globals ,在執行階段從專案中的任何程式碼存取數個不同的專案專案。

適用於: 本主題中的資訊適用於文件層級專案和 VSTO 增益集專案。 請參閱 Office 應用程式和專案類型提供的功能

如何使用 Globals 類別

Globals 是一個靜態類,它保留對專案中某些項目的引用。 藉由使用類別 Globals ,您可以在執行階段從專案中的任何程式碼存取下列專案:

  • ThisWorkbookSheetn 類別在 Excel 活頁簿或範本專案中。 您可以使用Globals.ThisWorkbookSheetn屬性來存取這些物件。

  • ThisDocument Word 文件或範本專案中的類別。 您可以使用屬性 Globals.ThisDocument 來存取此物件。

  • ThisAddIn VSTO 增益集專案中的類別。 您可以使用屬性 Globals.ThisAddIn 來存取此物件。

  • 專案中您使用 Ribbon Designer 自訂的所有功能區。 您可以透過使用 Globals.Ribbons 屬性來存取功能區。 如需詳細資訊,請參閱 在執行階段存取功能區

  • Outlook VSTO 外掛程式專案中的所有 Outlook 表單區域。 您可以使用Globals.FormRegions屬性來存取表單區域。 如需詳細資訊,請參閱 在執行階段存取表單區域

  • 工廠物件,可讓您在執行階段於以 .NET Framework 4 或 .NET Framework 4.5 為目標的專案中建立功能區控制項並承載項目。 您可以使用屬性 Globals.Factory 來存取此物件。 此物件是實作下列其中一個介面的類別實例:

    例如,您可以使用Globals.Sheet1屬性,當使用者在 Excel 文件層級專案中,按一下動作窗格上的按鈕時,將文字插入Sheet1控制項NamedRange中。

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

在初始化文件或 VSTO 增益集之前嘗試使用 Globals 類別的程式碼可能會擲回執行階段例外狀況。 例如,當宣告類別層級變數時使用 Globals 可能會失敗,因為在宣告的物件被實例化之前,Globals 類別可能尚未初始化所有主機項目的參照。

備註

在設計階段,類別從未初始化,但控制元件實例是由設計程式建立的。 這表示如果您從使用者控制項類別內部建立使用類別屬性 Globals 的使用者控制項,您必須先檢查屬性是否傳回 null ,才能嘗試使用傳回的物件。