全域存取 Office 專案中的物件
當您建立 Office 專案時,Visual Studio 會在專案中自動產生名為 Globals 的類別。您可以使用 Globals 類別,於執行階段從專案的任何程式碼存取數個不同的專案項目。
**適用於:**本主題中的資訊適用於 Office 2013 和 Office 2010 的文件層級專案和應用程式層級專案。如需詳細資訊,請參閱依 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 或 .NET Framework 4.5專案。您可以使用 Globals.Factory 屬性存取這個物件。這個物件是類別的執行個體,這個類別會實作下列其中一個介面:
例如,您可以使用 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,再嘗試使用傳回的物件。 |