2017-10-18 6 views
0

フィールドとコンボボックスという名前のロジックが既に定義されている既存のOutlookフォームがあります。 このフォームは別のアパートメントの標準入力ですので、処理を中断させるような形でフォームを変更することはできません。ユーザーがダウンロードする前にサーバーにプログラムで「Outlookフォーム」を事前に入力する

私が行う必要があるのは、利用可能な情報があるサーバー側でフォームのフィールドの一部を動的に事前入力して、.msgファイルとしてエンドユーザーに提供することです。 ユーザはフィールドのいくつかを修正することができます。

私の質問は、任意のAPIがありますか、または "find &"と置き換えて、私のサーバー上でOutlookフォームのプロパティをプログラムでプレフィルするのに使うことができるトリックですか?それが何かを助けるならば、価値です。

プロパティ値に$ NAME $を入れて単純なテキスト置換を行うという単純なアプローチを試しましたが、Outlookはその後に.msgを開くことができませんでした - 内部にいくつかのチェックサムまたは依存関係があると仮定していますデータ構造。

プラットフォームは.NETまたはJavaですが、その他のオプションも問題ありません。

答えて

1

OutlookオブジェクトModleはNamespace.OpenSharedItemを使用してMSGファイルを開くことができますが、サービス(IISなど)ではOOMを使用できません。
あなたが開くと.NETやJavaの場合などOpenIMsgOnIStg
を使用して、拡張MAPI(C++やDelphiのみ)を使用して、MSGファイルを変更することができ、あなたはRedemptionとそのRDOSessionを使用することができます。 GetMessageFromMsgFileメソッド(RDOMailオブジェクトを返します)。 RDOMail.Fields[]を使用してプロパティを変更し、RDOMail.Saveを呼び出してMSGファイルを保存できます。
OutlookSpy(既存のOpenIMsgOnIStgボタンをクリック)で既存のMAPIプロパティとそのDASL名を確認できます。

+0

ありがとうございます。Outlookオブジェクトモデルは機能します。私は、サーバー上のOutlookの自動化が正式にサポートされていないことを読んだが、積極的にそれを防ぐ何かがあるのだろうか?他のオプションよりも優れているように見えます。追加購入なしですぐに使えるものです。 –

+0

サーバーは正常ですが、問題のあるサービスです。 Outlookがクラッシュまたはハングします。 ifの質問ではなく、いつですか。 –

+0

サーバーが新しいプロセスとしてcmdツールを起動し、実際のオフィス相互運用機能がそのツールから実行されると、違いがありますか?私はそれをテストし、それは同じ方法で動作し、私は1秒以内にファイルを提供することができます。 私が自分でテストすることができないことは、クラッシュシナリオです。質問しています。 –

関連する問題