在執行階段存取表單區域
更新:2007 年 11 月
適用於 |
---|
本主題中的資訊僅適用於指定的 Visual Studio Tools for Office 專案和 Microsoft Office 版本。 專案類型
Microsoft Office 版本
如需詳細資訊,請參閱依應用程式和專案類型提供的功能。 |
您可以撰寫程式碼顯示、隱藏或修改表單區域上的控制項,並且讓使用者使用 Globals 類別從您專案的其他區域執行程式碼。
如需 Globals 類別的詳細資訊,請參閱全域存取 Visual Studio Tools for Office 專案中的物件。
從專案內的任何位置使用 Globals 類別存取「偵測器」(Inspector) 和 Explorer 中出現的表單區域。[偵測器] 是一個視窗,會在使用者執行特定工作 (例如建立電子郵件訊息) 時,在 Outlook 中開啟。Explore 是顯示資料夾內容的視窗,該資料夾包含如電子郵件訊息、工作或約會這類項目。
存取出現在特定 Outlook 偵測器視窗中的表單區域
若要存取出現在特定 Outlook 偵測器中的所有表單區域,請呼叫 Globals 類別的 FormRegions 屬性,並傳入代表偵測器的 Inspector 物件。
以下範例將取得目前擁有焦點的偵測器中,出現的表單區域集合。然後這個範例會存取名為 formRegion1 集合中的表單區域,並且將文字方塊中出現的設定設為 Hello World。
Private Sub Access_Form_Regions_ByInspector()
Dim formRegions As WindowFormRegionCollection = Globals.FormRegions _
(Globals.ThisAddIn.Application.ActiveInspector())
formRegions.FormRegion1.textBox1.Text = "Hello World"
End Sub
private void Access_Form_Regions_ByInspector()
{
WindowFormRegionCollection formRegions =
Globals.FormRegions
[Globals.ThisAddIn.Application.ActiveInspector()];
formRegions.FormRegion1.textBox1.Text = "Hello World";
}
存取出現在特定 Outlook Explorer 視窗中的表單區域
若要存取出現在特定 Outlook Explorer 中的所有表單區域,請呼叫 Globals 類別的 FormRegions 屬性,並傳入代表 Explorer 的 Explorer 物件。
以下範例將取得目前擁有焦點的 Explorer 中,出現的表單區域集合。然後這個範例會存取名為 formRegion1 集合中的表單區域,並且將文字方塊中出現的設定設為 Hello World。
Private Sub Access_Form_Regions_ByExplorer()
Dim formRegions As WindowFormRegionCollection = Globals.FormRegions _
(Globals.ThisAddIn.Application.ActiveExplorer())
formRegions.FormRegion1.textBox1.Text = "Hello World"
End Sub
private void Access_Form_Regions_ByExplorer()
{
WindowFormRegionCollection formRegions =
Globals.FormRegions
[Globals.ThisAddIn.Application.ActiveExplorer()];
formRegions.FormRegion1.textBox1.Text = "Hello World";
}
存取所有表單區域
若要存取出現在所有 Explorer 和所有偵測器中的所有表單區域,請呼叫 Globals 類別的 FormRegions 屬性。
以下範例將取得出現在所有 Explorer 和所有偵測器中的表單區域集合。然後這個範例會存取名為 formRegion1 的表單區域,並且將文字方塊中出現的設定設為 Hello World。
Friend Sub Access_All_Form_Regions()
Dim formRegion As Microsoft.Office.Tools.Outlook.IFormRegion
For Each formRegion In Globals.FormRegions
If TypeOf formRegion Is FormRegion1 Then
Dim formRegion1 As FormRegion1 = _
CType(formRegion, FormRegion1)
formRegion1.textBox1.Text = "Hello World"
End If
Next formRegion
End Sub
internal void Access_All_Form_Regions()
{
foreach (Microsoft.Office.Tools.Outlook.IFormRegion formRegion
in Globals.FormRegions)
{
if (formRegion is FormRegion1)
{
FormRegion1 formRegion1 = (FormRegion1)formRegion;
formRegion1.textBox1.Text = "Hello World";
}
}
}
存取表單區域上的控制項
若要使用 Globals 類別存取表單區域上的控制項,您必須讓表單區域程式碼檔案外的程式碼存取這些控制項。
表單區域設計工具中設計的表單區域
針對 C#,變更您要存取的每個控制項的修飾詞。若要執行這項操作,請選取表單區域設計工具中的每個控制項,並在 [屬性] 視窗中將 [Modifiers] 屬性變更為 Internal 或 public。例如,如果您將 textBox1 的 [Modifier] 屬性變更為 Internal,可藉由輸入 Globals.FormRegions.FormRegion1.textBox1 存取 textBox1。
針對 Visual Basic,您不需要變更修飾詞。
匯入的表單區域
當您匯入之前在 Outlook 中設計的表單區域時,表單區域上每個控制項的存取修飾詞都會變成私用。由於您無法使用表單區域設計工具修改匯入的表單區域,因此無法變更 [屬性] 視窗中控制項的修飾詞。
若要允許從表單區域程式碼檔案外部存取控制項,請在表單區域程式碼檔案中建立屬性以傳回該控制項。
如需如何在 C# 中建立屬性的詳細資訊,請參閱 HOW TO:宣告和使用讀取/寫入屬性 (C# 程式設計手冊)。
如需如何在 Visual Basic 中建立屬性的詳細資訊,請參閱 HOW TO:將欄位和屬性加入至類別。