次の方法で共有


Outlook フォーム領域の作成

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

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

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

  • フォーム領域の利点

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

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

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

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

  • プロジェクトのビルド

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

  • フォーム領域の配置

フォーム領域の利点

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

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

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

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

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

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

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

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

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

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

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

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

フォーム領域の種類

説明

分離

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

隣接

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

置き換え

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

すべて置換

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

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

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

フォーム領域ファイル

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

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

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

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

    注意

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

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

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

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

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

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

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

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

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

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

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

注意

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

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

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

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

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

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

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

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

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

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

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

Visual Basic プロジェクト内のイベントを処理するには、コード エディターの上部にある [メソッド名] リストでイベントを選択します。 詳細については、「How to: Create Event Handlers in the Visual Basic Code Editor」を参照してください。

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

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

注意

フォーム領域をインポートするには、開発コンピューターにインストールされている Outlook と同じバージョンの Outlook を対象とするプロジェクトで作業している必要があります。 たとえば、Outlook 2010 をインストールしている場合、フォーム領域のインポートは、Outlook 2010 アドイン プロジェクト テンプレートを使用して作成されたプロジェクトでのみ動作します。

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

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

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

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

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

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

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

イベント

説明

FormRegionInitializing

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

FormRegionShowing

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

FormRegionClosed

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

プロジェクトのビルド

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

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

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

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

フォーム領域のデバッグ

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

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

フォーム領域の配置

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

関連トピック

タイトル

説明

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

フォーム領域を最適化し、発生する可能性のある問題を回避するのに役立つ情報を提供します。

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

新しい Outlook フォーム領域ウィザードを使用して、標準またはカスタムの Microsoft Office Outlook フォームを拡張するフォーム領域を作成する方法について説明します。

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

フォーム領域を各アイテムのメッセージ クラスに関連付けることにより、そのフォーム領域を表示する Microsoft Office Outlook アイテムを指定する方法について説明します。

方法: モデルにエンティティを追加する

連絡先アイテムのインスペクター ウィンドウに新しいページとして表示するカスタム フォーム領域をデザインする方法について説明します。

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

Microsoft Office Outlook でフォーム領域をデザインする方法と、新しい Outlook フォーム領域ウィザードを使用して Outlook アドイン プロジェクトにフォーム領域をインポートする方法について説明します。

方法: Finder メソッドを追加する

コードを記述して、フォーム領域のコントロールの表示、非表示、変更を行う方法と、Globals クラスを使用して、記述したコードをプロジェクト内の他の領域からユーザーが実行できるようにする方法について説明します。

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

Microsoft Office Outlook で特定のアイテムのフォーム領域が表示されないようにする方法について説明します。

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

フォーム領域が表示される Outlook アイテムにアクセスする方法について説明します。

方法: SpecificFinder メソッドを追加する

ユーザーが Outlook アイテムに応答できるようにする方法について説明します。

方法: Creator メソッドを追加する

Outlook フォーム領域アイテムを使用してカスタム動作を追加する方法について説明します。