チュートリアル: Outlook フォーム領域のデザイン
カスタム フォーム領域は、標準またはカスタムの Microsoft Office Outlook フォームを拡張します。 このチュートリアルでは、連絡先アイテムのインスペクター ウィンドウに新しいページとして表示するカスタム フォーム領域をデザインします。 このフォーム領域では、アドレス情報を Windows Live Local Search の Web サイトに送信することによって、連絡先に設定された個々の住所の地図を表示します。 フォーム領域について詳しくは、「Outlook フォーム領域の作成」をご覧ください。
適用対象: このトピックの情報は、Outlook の VSTO アドイン プロジェクトに適用されます。 詳細については、「Office アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。
このチュートリアルでは、次の作業について説明します。
新しい Outlook VSTO アドイン プロジェクトの作成。
VSTO アドイン プロジェクトへのフォーム領域の追加。
フォーム領域のレイアウトのデザイン。
フォーム領域の動作のカスタマイズ。
Outlook フォーム領域のテスト。
Note
次の手順で参照している Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピューターでは名前や場所が異なる場合があります。 これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。 詳細については、「Visual Studio IDE のカスタマイズ」を参照してください。
前提条件
このチュートリアルを実行するには、次のコンポーネントが必要です。
Microsoft Office Developer Tools が含まれている Visual Studio のエディション。 詳細については、「Office ソリューションを開発できるようにコンピューターを構成する」を参照してください。
Outlook 2010 以降。
このトピックのビデオ バージョンについては、「ビデオの方法: Outlook フォーム領域をデザインする」を参照してください。
新しい Outlook VSTO アドイン プロジェクトを作成する
まず、基本的な VSTO アドイン プロジェクトを作成します。
新しい Outlook VSTO アドイン プロジェクトを作成するには
Visual Studio で、MapItAddIn という名前の Outlook VSTO アドイン プロジェクトを作成します。
[新しいプロジェクト] ダイアログ ボックスの [ソリューションのディレクトリを作成]チェック ボックスをオンにします。
プロジェクトを任意のディレクトリに保存します。
詳細については、「方法: Visual Studio で Office プロジェクトを作成する」を参照してください。
Outlook VSTO アドイン プロジェクトにフォーム領域を追加する
Outlook VSTO アドイン ソリューションには、1 つ以上の Outlook フォーム領域アイテムを格納できます。 プロジェクトにフォーム領域アイテムを追加するには、新しい Outlook フォーム領域ウィザードを使用します。
Outlook VSTO アドイン プロジェクトにフォーム領域を追加するには
ソリューション エクスプローラーで、MapItAddIn プロジェクトを選択します。
[プロジェクト] メニューの [新しい項目の追加] をクリックします。
[新しい項目の追加] ダイアログ ボックスで、[Outlook フォーム領域] を選択し、ファイルに MapIt という名前を付けて [追加] をクリックします。
新しい Outlook フォーム領域ウィザードが起動します。
[フォーム領域を作成する方法の選択] ページで [新しいフォーム領域のデザイン] をクリックし、[次へ] をクリックします。
[作成するフォーム領域の種類を選択します] ページで [分離] をクリックし、[次へ] をクリックします。
分離フォーム領域によって、Outlook フォームに新しいページが追加されます。 フォーム領域の種類の詳細については、「Outlook フォーム領域の作成」を参照してください。
[説明用のテキストを指定し、表示設定を選択します] ページで、[名前] ボックスに「Map It」と入力します。
この名前は、連絡先アイテムを開いたときにインスペクター ウィンドウのリボンに表示されます。
[作成モードのインスペクター] と [開封モードのインスペクター] を選択し、[次へ] をクリックします。
[このフォーム領域を表示するメッセージ クラスを識別します] ページで、[メール メッセージ] をオフにし、[連絡先] をオンにして、[完了] をクリックします。
MapIt.cs または MapIt.vb ファイルがプロジェクトに追加されます。
フォーム領域のレイアウトをデザインする
フォーム領域デザイナーを使用してフォーム領域を視覚的に作成します。 フォーム領域デザイナーの画面にマネージド コントロールをドラッグできます。 デザイナーとプロパティ ウィンドウを使用して、コントロールのレイアウトと外観を調整します。
フォーム領域のレイアウトをデザインするには
ソリューション エクスプローラーで、MapItAddIn プロジェクトを展開し、MapIt.cs または MapIt.vb をダブルクリックしてフォーム領域デザイナーを開きます。
デザイナーを右クリックし、[プロパティ] をクリックします。
[プロパティ] ウィンドウで、[サイズ] を 664, 469 に設定します。
これにより、フォーム領域が地図を表示するのに十分な大きさになります。
[表示] メニューの [ツールボックス] をクリックします。
ツールボックスの [コモン コントロール] タブから、WebBrowser をフォーム領域に追加します。
WebBrowser によって、連絡先に設定されている各住所の地図が表示されます。
フォーム領域の動作をカスタマイズする
フォーム領域の実行時の動作をカスタマイズするには、フォーム領域のイベント ハンドラーにコードを追加します。 このフォーム領域に対して、コードは Outlook アイテムのプロパティを調べ、Map It フォーム領域を表示するかどうかを決定します。 フォーム領域を表示する場合、コードは Windows Live Local Search に接続し、Outlook 連絡先アイテムに設定された各住所の地図を読み込みます。
フォーム領域の動作をカスタマイズするには
ソリューション エクスプローラーで、MapIt.cs または MapIt.vb を右クリックし、[コードの表示] をクリックします。
MapIt.cs または MapIt.vb がコード エディターで開きます。
[フォーム領域ファクトリ] コード領域を展開します。
MapItFactory
という名前のフォーム領域ファクトリ クラスが公開されます。MapItFactory_FormRegionInitializing
イベント ハンドラーに次のコードを追加します。 このイベント ハンドラーは、ユーザーが連絡先アイテムを開いたときに呼び出されます。 次のコードは、連絡先アイテムに住所が含まれているかどうかを判定します。 連絡先アイテムに住所が含まれていない場合は、このコードが FormRegionInitializingEventArgs クラスの Cancel プロパティを true に設定し、フォーム領域は表示されません。 それ以外の場合は、VSTO アドインで FormRegionShowing イベントが発生し、フォーム領域が表示されます。private void MapItFactory_FormRegionInitializing(object sender, Microsoft.Office.Tools.Outlook.FormRegionInitializingEventArgs e) { Outlook.ContactItem myItem = (Outlook.ContactItem)e.OutlookItem; if (myItem != null) { if ((myItem.BusinessAddress != null && myItem.BusinessAddress.Trim().Length > 0) || (myItem.HomeAddress != null && myItem.HomeAddress.Trim().Length > 0) || (myItem.OtherAddress != null && myItem.OtherAddress.Trim().Length > 0)) { return; } } e.Cancel = true; }
FormRegionShowing イベント ハンドラーに次のコードを追加します。 このコードは、以下のタスクを実行します。
連絡先アイテムの各住所を連結し、URL 文字列を作成します。
WebBrowser オブジェクトの Navigate メソッドを呼び出し、パラメーターとして URL 文字列を渡します。
Map It フォーム領域に Local Search の Web サイトが表示され、スクラッチ パッドに各住所が表示されます。
private void MapIt_FormRegionShowing(object sender, EventArgs e) { string tempLoc = ""; string defaultAddress = ""; string scratchPadAddress = ""; Outlook.ContactItem myItem = (Outlook.ContactItem)this.OutlookItem; if (myItem != null) { if (myItem.HomeAddress != null && myItem.HomeAddress.Trim().Length > 0) { tempLoc = myItem.HomeAddressStreet.Trim() + " " + myItem.HomeAddressCity + " " + myItem.HomeAddressState + " " + myItem.HomeAddressPostalCode; if (myItem.HomeAddress == myItem.MailingAddress) { defaultAddress = tempLoc + "_Home"; } else { scratchPadAddress += "adr." + tempLoc + "_Home~"; } } if (myItem.BusinessAddress != null && myItem.BusinessAddress.Trim().Length > 0) { tempLoc = myItem.BusinessAddressStreet.Trim() + " " + myItem.BusinessAddressCity + " " + myItem.BusinessAddressState + " " + myItem.BusinessAddressPostalCode; if (myItem.BusinessAddress == myItem.MailingAddress) { defaultAddress = tempLoc + "_Business"; } else { scratchPadAddress += "adr." + tempLoc + "_Business~"; } } if (myItem.OtherAddress != null && myItem.OtherAddress.Trim().Length > 0) { tempLoc = myItem.OtherAddressStreet.Trim() + " " + myItem.OtherAddressCity + " " + myItem.OtherAddressState + " " + myItem.OtherAddressPostalCode; if (myItem.OtherAddress == myItem.MailingAddress) { defaultAddress = tempLoc + "_Other"; } else { scratchPadAddress += "adr." + tempLoc + "_Other~"; } } } webBrowser1.Navigate("http://local.live.com/default.aspx?style=r&where1=" + defaultAddress + "&sp=" + scratchPadAddress); }
Outlook フォーム領域をテストする
プロジェクトを実行すると、Visual Studio によって Outlook が開かれます。 連絡先アイテムを開くと、Map It フォーム領域が表示されます。 Map It フォーム領域は、住所が含まれる連絡先アイテムのフォームのページとして表示されます。
Map It フォーム領域をテストするには
F5 キーを押してプロジェクトを実行します。
Outlook が開きます。
Outlook の [ホーム] タブで、[新しいアイテム] をクリックし、[連絡先] をクリックします。
連絡先フォームで、連絡先の名前を「Ann Beebe」と入力し、以下の 3 つの住所を指定します。
住所の種類 番地 勤務先 4567 Main St. Buffalo, NY Home 1234 North St. Buffalo, NY その他 3456 Main St. Seattle, WA 連絡先アイテムを保存して閉じます。
Ann Beebe 連絡先アイテムを再度開きます。
Outlook の [検索] グループでこの操作を行うには、連絡先のアドレス帳を開くか、[ユーザーの検索] に「Ann Beebe」と入力します。
連絡先アイテムのリボンの [表示] グループで [Map It] をクリックし、Map It フォーム領域を開きます。
Map It フォーム領域が開き、Local Search の Web サイトが表示されます。 スクラッチ パッドに会社住所、自宅住所、およびその他の住所が表示されます。 スクラッチ パッドで、地図を表示する住所を選択します。
次のステップ
Outlook アプリケーションの UI をカスタマイズする方法の詳細については、次のトピックを参照してください。
- Outlook アイテムのリボンをカスタマイズする方法について詳しくは、「Outlook のリボンのカスタマイズ」をご覧ください。