共用方式為


在執行階段存取表單區域

更新:2007 年 11 月

適用於

本主題中的資訊僅適用於指定的 Visual Studio Tools for Office 專案和 Microsoft Office 版本。

專案類型

  • 應用程式層級專案

Microsoft Office 版本

  • Outlook 2007

如需詳細資訊,請參閱依應用程式和專案類型提供的功能

您可以撰寫程式碼顯示、隱藏或修改表單區域上的控制項,並且讓使用者使用 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:將欄位和屬性加入至類別

請參閱

工作

逐步解說:設計 Outlook 表單區域

HOW TO:在 Outlook 增益集專案中加入表單區域

逐步解說:匯入在 Outlook 中設計的表單區域

HOW TO:防止 Outlook 顯示表單區域

HOW TO:存取顯示表單區域的 Outlook 項目

概念

建立 Outlook 表單區域的方針

Outlook 表單區域中的自訂動作

讓表單區域與 Outlook 訊息類別產生關聯

建立 Outlook 表單區域

在執行階段存取功能區