質問

リモートサーバーからダウンロードしたタブを使用して既存のフォームを拡張できるOutlook拡張機能を開発する必要があります。たとえば、予約フォームに追加のタブが表示されます。このタブのフォーム定義は、Webサービスからダウンロードされ、WPFなどを使用してレンダリングされます。このタブのデータもサーバーから取得され、フォームフィールドにバインドされます。最後に、フォームを保存するときに、このリモートサーバーにもフォームを送信する必要があります。

Outlook 2003および2007で動作するはずです。

主な質問:

  1. それは可能ですか?
  2. より速く把握するために読むべきものMSDNは大きく、Outlook開発者向けのセクションもあります。
  3. サンプルはありますか

更新

回答ありがとうございます!間違いなく、さまざまな質問が多すぎるので、いくつかの部分に分解する必要があります。回答を読んで宿題を書いた後、再開したい:

  1. はい、可能です。ただし、後でいくつかの水中の岩が見つかるかもしれません。
  2. VS 2008を使用して、拡張機能を作成するのが最善の方法です。
役に立ちましたか?

解決

さて、あなたの投稿には多くの質問があります。答えはいくつかありますが、すべてではありません。とにかく、1つの投稿ですべてを網羅するには、質問には多くのことがあります。

最初に知っておくべきことは、Outlook 2007には以前のバージョンとは異なる方法があることです。そのため、Outlook 2003と2007の両方を使用するには、おそらく2回行う必要があります。

最初に知っておくべきことは、必要なものを検索するのに役立つ語彙です。 Outlook 2003では、カスタムフォームを使用してフォームを作成または拡張します。 Outlook 2007では、新しいフォーム領域を使用します。概念は似ていますが、2つの異なるものです。

私はOutlook 2007でしか作業していないので、次に言うことはそれにのみ適用されます。 Visual Studio 2005があり、VSTO(Office用Visual Studioツール)またはVisual Studio 2008をダウンロードする必要があります。

フォーム領域には、隣接、分離、置換、またはすべて置換の4つのタイプがあります。隣接とは、デフォルトのフォームの下部に表示されることを意味します。別の意味は、新しい「ページ」であることを意味します。フォーム内。置換は、デフォルトフォームの最初のページを置き換えることを意味し、すべて置換は、デフォルトフォームのすべてのページを置き換えることを意味します。

タブを使いたいと言っていました。 Outlook 2007では、すべきではありません。 Outlook 2007のUI原則を尊重するために、個別のページを使用する必要があります。タブを作成することもできますが、非常にugいように見えます。一方、リボンには個別のページが表示されるため、ページを簡単に切り替えることができます。

フォーム領域を設計するには2つの方法があります。最初の推奨される方法は、Outlook 2007内のデザイナーです。" Tools>フォーム>リージョンフォームを作成します。この内部を設計し、フォームを.ofsファイルとして保存してからVisual Studioにインポートします。

利点:

  • Microsoftが推奨するため、Outlook 2007のカスタマイズに関するほとんどすべてのリソースでこの方法が使用されています。
  • Outlook用の既製のコントロール(たとえば、メールアドレスを保持するように設計されたフィールド)。
  • メール内のUserPropertyへの自動バインド。

欠点:

  • 粗いデザイナー(物事を適切に調整するのは難しい)。
  • フォームを更新するたびに、Outlookでフォームを変更し、Visual Studioで再度アップロードする必要があります。これにより、以前のコードが消去されます。
  • 操作するにはひどい古いCOMコントロール。

もう1つの方法は、Visual Studioで新しい地域フォームを設計することです。

利点:

  • 必要なすべての最新の強力なwinformsコントロールがあります。
  • 優れたデザイナー。
  • 更新が簡単。

欠点:

  • ほとんどの本の著者はOutlookデザイナーのみを使用しているため、これに関する情報はあまりありません。
  • Outlookで当然と思われる多くの動作(複数のメールアドレスを保持および確認できるテキストボックスの作成など)を自分でコーディングする必要があります。

カスタムフォーム(少なくともOutlookで設計されたもの)をメールで送信できると思いますが、自分で試したことがないのでわかりません。

バインディングに関しては、おそらくイベントでこれを行うことができます。たとえば、メッセージを保存または送信する前にトリガーされるイベントがあります。

これですべてです。長い回答で話題から外れることなく、あなたが何をしたいのかを正確に判断するのに役立つことを願っています。 Outlookで何ができるかを理解し、各ポイントでより具体的な質問をする必要があります。

他のヒント

これはあなたが説明しているように不可能ですが、そこから何らかの方法で得ることができます。また、KsempacはOutlook 2007で物事を行う方法についての長所と短所に関する多くの優れた点を指摘しています。

2003年と2007年にこれを実行するには、自分で予約フォームを設計するのが最善の方法だと思います。タブの1つを拡張して、Webサービスからの動的フォームを表示するブラウザーコントロールを持つことができます。結果は、後でレンダリングまたは処理するために、新しいOutlookフォームで送信または保存できます。

例:

フォームデザインの例: http://www.msexchange.org/articles/Designing-Outlook- Forms-Part1.html

デフォルトのフォームを上書きします。 http://support.microsoft.com/?kbid=241235

ここと、Outlookフォームの設計に関するネットにはたくさんの良いものがあります。フォームに関する優れた書籍もいくつかあります。

Sue Mosherの本とサイトは、始めるのに適した場所です。 Outlookcode.com

Microsoft Outlookプログラミング:管理者、開発者、およびパワーユーザー向けのジャンプスタート (ISBN 1-555-58286-9、デジタルプレス)

Microsoft Outlook 2007プログラミング:パワーユーザーと管理者向けのジャンプスタート (ISBN 1-55558-346-6、デジタルプレス)

Ksempacのように、質問を分解し、進むにつれて尋ねる必要があります。

更新 予算に余裕がある場合は、アドインエクスプレス http://www.add-in-express.com/ を使用すると、2つのバージョンのOutlookにデプロイする手間が省け、手作業で行うよりも早く生産性を高めることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top