あなたの投稿にはたくさんの質問があります。答えはいくつかあると思いますが、すべてではありません。とにかく、あなたの質問には、1つの投稿ですべてをカバーするには多すぎることがあります。
最初に知っておくべきことは、Outlook2007には以前のバージョンとは異なる方法があるということです。したがって、Outlook 2003と2007の両方を使用するには、おそらく2回実行する必要があります。
最初に知っておくべきことは、必要なものを検索するのに役立つ語彙です。Outlook 2003では、カスタムフォームを使用してフォームを作成または拡張します。Outlook 2007では、新しいフォーム領域を使用します。概念は似ていますが、2つの異なるものです。
私はOutlook2007でしか作業していないので、次に言うことはそれにのみ当てはまります。Visual Studio 2005を用意してVSTO(Visual Studio Tools for Office)をダウンロードするか、VisualStudio2008をダウンロードする必要があります。
フォーム領域には、隣接、分離、置換、または置換-すべての4つのタイプのいずれかがあります。隣接とは、デフォルトのフォームの下部に表示されることを意味します。個別とは、フォーム内の新しい「ページ」であることを意味します。置換とは、デフォルトフォームの最初のページを置き換えることを意味し、すべて置換とは、デフォルトフォームのすべてのページを置き換えることを意味します。
タブを使いたいとおっしゃいました。Outlook 2007では、そうすべきではありません。Outlook 2007のUI原則を尊重するために、個別のページを使用する必要があります。タブを作成することはできますが、タブが非常に見苦しく表示されることがわかります。一方、リボンには個別のページが表示されるため、あるページから別のページに簡単に切り替えることができます。
フォーム領域を設計する方法は2つあります。最初の推奨される方法は、Outlook2007内のデザイナーです。「ツール>フォーム>リージョンフォームの作成」のようなものです。この内部でデザインし、フォームを.ofsファイルとして保存してから、VisualStudioにインポートします。
利点:
- Microsoftが推奨しているため、Outlook2007のカスタマイズに関するほとんどすべてのリソースでこの方法が使用されています。
- Outlook用の既製のコントロール(たとえば、メールアドレスを保持するように設計されたフィールド)。
- メール内のUserPropertyへの自動バインド。
欠点:
- 粗野なデザイナー(物事を適切に調整するのは難しい)。
- フォームを更新する場合は常に、Outlookでフォームを変更し、Visual Studioに再度アップロードする必要があります。これにより、以前のコードが消去されます。
- 使用するのがひどい古いCOMコントロール。
もう1つの方法は、VisualStudioで新しいリージョンフォームをデザインすることです。
利点:
- あなたはあなたが望むすべての最新の、強力な、winformsコントロールを持っています。
- より良いデザイナー。
- 更新が簡単です。
欠点:
- ほとんどの本の著者はOutlookデザイナのみを使用しているため、これに関する多くの情報は見つかりません。
- Outlookで当然のことと思われる多くの動作(複数のメールアドレスを保持およびチェックできるテキストボックスの作成など)を自分でコーディングする必要がありますが、これは非常に面倒で実行が難しい場合があります。
カスタムフォーム(少なくともOutlookで設計されたもの)をメールで送信できると思いますが、自分で試したことがないのでわかりません。
バインディングに関しては、おそらくイベントでこれを行うことができるでしょう。たとえば、メッセージを保存または送信する前にトリガーされるイベントがあります。
今のところこれですべてです。私が長い答えで話題から外れていないこと、そしてそれがあなたがやりたいことを正確に決定するのに役立つことを願っています。Outlookで何ができるかを理解してから、各ポイントについてより具体的な質問をする必要があります。