Outlook フォーム領域の作成

更新 : 2007 年 11 月

対象

このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。

プロジェクトの種類

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

Microsoft Office のバージョン

  • Outlook 2007

詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

フォーム領域を使用することにより、Microsoft Office Outlook フォームをカスタマイズできます。Visual Studio Tools for Office には、フォーム領域のデザイン、開発、デバッグに役立つ高度なツールが用意されています。

ここでは、次の情報について説明します。

  • フォーム領域の利点

  • プロジェクトへの Outlook フォーム領域の追加

  • フォーム領域デザイナの使用方法

  • Outlook でデザインしたフォーム領域の使用方法

  • フォーム領域へのカスタム コードの追加

  • プロジェクトのビルド

  • フォーム領域のデバッグ

  • フォーム領域の配置

フォーム領域の利点

フォーム領域は、従来の Outlook フォーム開発に多くの機能強化をもたらします。

  • 標準フォームの既定のページをカスタマイズする。

  • 標準フォームに 12 ページまで追加する。

  • 標準フォームを置換または拡張する。

  • 閲覧ペインとインスペクタにカスタム UI を表示する。

詳細については、「Customizing Form Pages and Form Regions」を参照してください。

プロジェクトへの Outlook フォーム領域の追加

新しい Outlook フォーム領域ウィザードを使用して、新しいフォーム領域をデザインしたり、Outlook でデザインしたフォーム領域をインポートしたりできます。また、別の Visual Studio Tools for Office アドイン プロジェクトで使用した既存のフォーム領域を再利用することもできます。

ウィザードによる新しいフォーム領域の作成

フォーム領域を作成するには、Outlook アドイン プロジェクトに Outlook フォーム領域アイテムを追加します。これによって、新しい Outlook フォーム領域ウィザードが起動します。

このウィザードでは、新しいフォーム領域をデザインするか Outlook でデザインしたフォーム領域をインポートするかを指定します。新しいフォーム領域のデザインの詳細については、「フォーム領域デザイナの使用方法」を参照してください。Outlook でデザインしたフォーム領域の使用方法の詳細については、「Outlook でデザインしたフォーム領域のインポート」を参照してください。

ウィザードを使用して、作成するフォーム領域の種類を指定します。フォーム領域の種類について次の表で説明します。

フォーム領域の種類

説明

分離

フォーム領域を Outlook フォームの新しいページとして追加します。

隣接

フォーム領域を Outlook フォームの既定のページの下部に追加します。

置換

フォーム領域を Outlook フォームの既定のページに代わる新しいページとして追加します。

すべて置換

Outlook フォーム全体をフォーム領域と置き換えます。

このウィザードでは、表示条件を指定し、拡張するフォームの種類を選択することもできます。詳細については、「方法 : フォーム領域を Outlook アドイン プロジェクトに追加する」を参照してください。

このウィザードで行った選択は、他のウィザード ページで使用できるオプションに影響します。たとえば、[フォーム領域を作成する方法の選択] ページで [隣接] または [分離] を選択すると、[説明用のテキストを指定し、表示設定を選択します] ページの [タイトル] フィールドと [説明] フィールドは使用できません。これは、種類が隣接または分離であるフォーム領域を表示するときに、Outlook ではこれらのフィールドを使用しないからです。

フォーム領域ファイル

新しい Outlook フォーム領域ウィザードを完了すると、Visual Studio Tools for Office によって自動的に以下のファイルがプロジェクトに追加されます。

  • フォーム領域コード ファイル。このファイルには、[新しい項目の追加] ダイアログ ボックスで Outlook フォーム領域アイテムに指定した名前が付けられます。このファイルには、フォーム領域イベントを処理するコードを追加します。

  • フォーム領域デザイナ コード ファイル。このファイルにはフォーム領域デザイナによって生成されたコードが含まれており、直接編集することはできません。

  • Outlook Form Storage (.ofs) ファイル。

    Bb386301.alert_note(ja-jp,VS.90).gifメモ :

    このファイルがプロジェクトに追加されるのは、Outlook でデザインしたフォーム領域をインポートした場合だけです。

フォーム領域ファクトリ クラス

フォーム領域コード ファイルには、IFormRegionFactory インターフェイスを実装する部分クラスが含まれています。これがフォーム領域ファクトリ クラスです。フォーム領域ファクトリ クラスは、フォーム領域の新しいインスタンスの作成に使用します。

このクラスにアクセスするには、[フォーム領域ファクトリ] 領域を展開します。

このクラスには、新しい Outlook フォーム領域ウィザードによって、フォーム領域の内部名とフォーム領域を表示するメッセージ クラスを指定する属性が追加されます。これらの属性は、ファイルがプロジェクトに追加された後、手動で変更できます。

フォーム領域ファクトリ クラスの大部分は、フォーム領域デザイナ ファイルに実装されます。ただし、FormRegionInitializing イベント ハンドラはフォーム領域コード ファイルに公開されます。このイベント ハンドラによって、Outlook がフォーム領域を表示するかどうかを指定できます。詳細については、「フォーム領域イベントの処理」を参照してください。

プロジェクトへの既存のフォーム領域の追加

別の Visual Studio Tools for Office プロジェクトで使用したフォーム領域がある場合は、[既存項目の追加] ダイアログ ボックスを使用して、そのフォーム領域を現在の Outlook アドイン プロジェクトで再利用できます。

既存のフォーム領域にはコード ファイル (.vb または .cs) が必要です。[既存項目の追加] ダイアログ ボックスで Outlook Form Storage (.ofs) ファイルを追加することはできません。ただし、Outlook Form Storage ファイルをインポートすることによって新しいフォーム領域を作成できます。詳細については、「方法 : フォーム領域を Outlook アドイン プロジェクトに追加する」を参照してください。

フォーム領域デザイナの使用方法

フォーム領域デザイナでは、フォーム領域のレイアウトと外観をデザインできます。マネージ コントロールをデザイナ画面にドラッグしたり、コントロールをダブルクリックしてイベント ハンドラを開いたりできるほか、[プロパティ] ウィンドウでプロパティを設定することもできます。

Bb386301.alert_note(ja-jp,VS.90).gifメモ :

Outlook でのフォーム領域の表示方法を設定するプロパティは、[プロパティ] ウィンドウの [マニフェスト] ノードの下にあります。

フォーム領域デザイナは、新しい Outlook フォーム領域ウィザードの [フォーム領域を作成する方法の選択] ページで [新しいフォーム領域のデザイン] を選択した場合にのみ使用できます。

フォーム領域デザイナを開くには、次の 3 つの方法があります。

  • ソリューション エクスプローラでフォーム領域コード ファイルをダブルクリックする。

  • ソリューション エクスプローラでフォーム領域コード ファイルを右クリックし、[デザイナの表示] をクリックする。

  • ソリューション エクスプローラでフォーム領域コード ファイルを選択し、[表示] メニューの [デザイナ] をクリックする。

フォーム領域デザイナでは、マネージ コントロールのみ使用できます。ネイティブな Outlook コントロールを追加することはできません。

Outlook でデザインしたフォーム領域のインポート

Outlook でデザインする場合は、ネイティブな Outlook コントロールをフォーム領域に追加できます。ネイティブな Outlook コントロールは、デザイン時に Outlook データにバインドできます。ただし、フォーム領域デザイナを使用してマネージ コントロールを追加したりフォーム領域のデザインを変更したりすることはできません。

新しい Outlook フォーム領域ウィザードを使用して、フォーム領域を Outlook アドイン プロジェクトにインポートできます。[フォーム領域を作成する方法の選択] ページで [Outlook Form Storage (.ofs) ファイルのインポート] を選択します。次に、Outlook Form Storage (.ofs) ファイルの場所を参照します (フォーム領域は .ofs ファイルとして保存されます)。

新しい Outlook フォーム領域ウィザードは、.ofs ファイルをプロジェクト ディレクトリにコピーし、コントロール参照をフォーム領域デザイナ ファイルに追加します。これにより、フォーム領域コード ファイルでコントロール イベントを処理できます。

Visual Basic プロジェクト内のイベントを処理するには、コード エディタの上部にある [メソッド名] リストでイベントを選択します。詳細については、「方法 : Visual Basic コード エディタでのイベント ハンドラの作成」を参照してください。

C# プロジェクト内のイベントを処理するには、FormRegionShowing メソッドでコントロール イベントにサブスクライブします。詳細については、「方法 : イベント サブスクリプションとサブスクリプションの解除 (C# プログラミング ガイド)」を参照してください。

フォーム領域のプロパティは、フォーム領域ファクトリ クラスの InitializeManifest メソッドで変更できます。

インポートしたフォーム領域のデザインの更新

フォーム領域に対して、コントロールの追加、削除、変更を行うことができます。これらの操作を行う場合は、フォーム領域コード ファイルに追加したコードのバックアップを事前に作成します。そのうえで、Outlook で .ofs ファイルを開き、フォーム領域を変更し、変更内容を保存します。新しい Outlook フォーム領域ウィザードを使用して、変更した .ofs ファイルをインポートします。その後で、コードを新しいフォーム領域コード ファイルに貼り付けることができます。

フォーム領域へのカスタム コードの追加

Microsoft.Office.Tools.Outlook 名前空間では、フォーム領域、フォーム領域を表示する Outlook アイテム、およびその他の役に立つアイテムを表すクラスにアクセスできます。Outlook フォーム領域アイテムをプロジェクトに追加すると、このアセンブリへの参照が自動的に追加され、using ステートメントまたは Imports ステートメントがフォーム領域コード ファイルの先頭に挿入されます。

Microsoft.Office.Interop.Outlook 名前空間のクラス、メソッド、およびプロパティを使用すると、ほとんどの Outlook プログラミング タスクを実行できます。Outlook オブジェクト モデルの詳細については、「Outlook オブジェクト モデルの概要」を参照してください。Outlook オブジェクト モデルを使用する Visual Studio Tools for Office の一般的なタスクの例については、「Outlook ソリューション」を参照してください。

フォーム領域イベントの処理

Outlook フォーム領域アイテムをプロジェクトに追加すると、自動的に次の 3 つのイベント ハンドラがフォーム領域コード ファイルに追加されます。

イベント

説明

FormRegionInitializing

フォーム領域が初期化される前に発生します。このイベント ハンドラの状態をチェックすることにより、Outlook がフォーム領域を表示する必要があるかどうかを判断できます。詳細については、「方法 : Outlook にフォーム領域が表示されないようにする」を参照してください。

FormRegionShowing

フォーム領域のインスタンスが作成された後、フォーム領域が表示される前に発生します。

FormRegionClosed

フォーム領域が閉じられる前に発生します。

プロジェクトのビルド

フォーム領域を含む Outlook アドイン プロジェクトをビルドすると、Visual Studio Tools for Office によってレジストリに次の情報が追加されます。

  • 1 つ以上のフォーム領域に関連付けられている各メッセージ クラスのキー

  • 各フォーム領域のエントリと、Outlook アドインの名前を表す値

この情報は、Outlook がフォーム領域を読み込むときに使用します。

フォーム領域のデバッグ

フォーム領域を含む Outlook アドイン プロジェクトは、他の Visual Studio プロジェクトと同じようにデバッグできます。Visual Studio デバッガを起動すると、Visual Studio Tools for Office によって自動的に Outlook が起動されます。

フォーム領域を表示するには、対応する Outlook アイテムを開く必要があります。たとえば、隣接するフォーム領域をメール アイテムの下部に追加する場合は、メール アイテムを開きます。

フォーム領域の配置

フォーム領域は、関連付けられた Outlook アドインと共に自動的に配置されます。したがって、フォーム領域を配置するための特別な手順を実行する必要はありません。アドインの配置の詳細については、「Office ソリューションの配置 (2007 システム)」を参照してください。

参照

処理手順

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

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

方法 : カスタム動作を Outlook フォーム領域に追加する

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

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

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

概念

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

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

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

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