全域存取 Office 專案中的物件

更新:2010 年 5 月

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

**適用於:**本主題中的資訊適用於 Microsoft Office 2010 和 2007 Microsoft Office system 的文件層級專案和應用程式層級專案。 如需詳細資訊,請參閱依 Office 應用程式和專案類型提供的功能

如何使用 Globals 類別

Globals 是靜態類別,這個靜態類別會將某些項目的參考保留在專案中。 您可以使用 Globals 類別,於執行階段從專案的任何程式碼存取下列項目:

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

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

  • 應用程式層級專案中的 ThisAddIn 類別。 您可以使用 Globals.ThisAddIn 屬性存取這個物件。

  • 專案中使用 [功能區設計工具] 自訂的所有功能區。 您可以使用 Globals.Ribbons 屬性存取功能區。 如需詳細資訊,請參閱在執行階段存取功能區

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

  • Factory 物件,可讓您在以 .NET Framework 4 為目標的專案中,於執行階段建立功能區控制項、智慧標籤和主項目。 您可以使用 Globals.Factory 屬性存取這個物件。 這個物件是類別的執行個體,這個類別會實作下列其中一個介面:

    注意事項注意事項

    智慧標籤在 Excel 2010 和 Word 2010 中已被取代。 如需詳細資訊,請參閱智慧標籤概觀

    注意事項注意事項

    Factory 屬性僅適用於目標為 .NET Framework 4 的專案。 以 .NET Framework 3.5 為目標的專案會使用其他方法,於執行階段建立功能區控制項、智慧標籤和主項目。

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

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;
}

初始化 Globals 類別

嘗試在文件或增益集完全初始化之前使用 Globals 類別的程式碼,可能會擲回執行階段例外狀況 (Exception)。 例如,在宣告類別層級的變數時使用 Globals 可能會失敗,因為 Globals 類別可能不會在宣告的物件具現化之前,使用所有主項目的參考進行初始化。

注意事項注意事項

雖然 Globals 類別絕對不會在設計階段初始化,但是設計工具卻會建立控制項執行個體。 這表示如果您建立的使用者控制項會在使用者控制項類別中使用 Globals 類別的某個屬性,您必須先檢查該屬性是否傳回 null,再嘗試使用傳回的物件。

請參閱

概念

在執行階段存取功能區

在執行階段存取表單區域

主項目和主控制項概觀

Document 主項目

Workbook 主項目

Worksheet 主項目

撰寫 Office 方案中的程式碼

變更記錄

日期

記錄

原因

2010 年 5 月

釐清某些詳細資料。

資訊加強。