実行時におけるフォーム領域へのアクセス
対象 |
---|
このトピックの情報は、次の種類のプロジェクトおよび Microsoft Office のバージョンにのみ適用されます。 詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。 プロジェクトの種類
Microsoft Office のバージョン
|
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 アイテムにアクセスする