次の方法で共有


実行時におけるフォーム領域へのアクセス

対象

このトピックの情報は、次の種類のプロジェクトおよび Microsoft Office のバージョンにのみ適用されます。 詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。

プロジェクトの種類

  • アプリケーション レベルのプロジェクト

Microsoft Office のバージョン

  • Outlook 2007

  • Outlook 2010

Globals クラスを使用すると、Outlook プロジェクトの任意の場所からフォーム領域にアクセスできます。 Globals クラスの詳細については、「Office プロジェクト内のオブジェクトへのグローバル アクセス」を参照してください。

対象: このトピックの情報は、Outlook 2007 と Outlook 2010 のアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。

特定の 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 エクスプローラー ウィンドウに表示されるフォーム領域へのアクセス

特定の Outlook エクスプローラーに表示されるすべてのフォーム領域にアクセスするには、Globals クラスの FormRegions プロパティを呼び出し、エクスプローラーを表す 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";
}

すべてのフォーム領域へのアクセス

すべてのエクスプローラーおよびすべてのインスペクターに表示されるすべてのフォーム領域にアクセスするには、Globals クラスの FormRegions プロパティを呼び出します。

次の例では、すべてのエクスプローラーおよびすべてのインスペクターに表示されるフォーム領域のコレクションを取得します。 この例では、次に、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# でプロパティを作成する方法の詳細については、「方法: 読み取り/書き込みプロパティを宣言および使用する (C# プログラミング ガイド)」を参照してください。

Visual Basic でプロパティを作成する方法の詳細については、「How to: Add Fields and Properties to a Class」を参照してください。

参照

処理手順

チュートリアル : Outlook フォーム領域のデザイン

方法 : フォーム領域を Outlook アドイン プロジェクトに追加する

チュートリアル : Outlook でデザインしたフォーム領域のインポート

方法 : Outlook にフォーム領域が表示されないようにする

方法 : フォーム領域を表示する Outlook アイテムにアクセスする

概念

Outlook フォーム領域の作成に関するガイドライン

Outlook フォーム領域のカスタム動作

フォーム領域の Outlook メッセージ クラスへの関連付け

Outlook フォーム領域の作成

実行時のリボンへのアクセス