2016-05-19 15 views
0

現在、Visual Studio 2015とVSTOでOutlookアドインを開発しています。 メール受信者に応じて挨拶を設定したいと思います。Outlook.MailItem.Sendの前にイベントをキャッチする必要があります

だからMailItem.PropertyChangeに、私はた受信者を読み出して挨拶を設定します。 この後、ユーザーは後で挨拶を変更できます。私は、「送信」をクリックして、私の変更挨拶がデフォルトの挨拶で上書きされたときに

愚かOutlookは新しいMailItem.PropertyChange-イベントをスローします。

私はすでにMailItem.Send-イベントをキャッチしようとしましたが、これにPropertyChangeを送る-イベントの前にスローされます。

だから私は、直接にButtonPressまたは何か他のものをキャッチするためのソリューションがあるかどうかを知る必要があります。

ありがとうございます。

答えて

1

それが公開されていないので、(フォームのデザインを変更し、独自のボタンを追加しない限り)あなたはSendボタンのクリックイベントをキャプチャすることはできません。私は挨拶を設定したブール型フラグをいくつか設定し、それらのフラグが真であれば再度変更しません。

+0

私はすでにいくつかのブール値を設定していますが、Toプロパティを変更する可能性はありません。 – etalon11

+0

最後に私は主な問題を管理しました:あなたはPropertyChange-Event中に "Save"メソッドを呼び出すべきではありません。これは、別のスレッドまたはタイマーで処理する必要があります。あなたの答えは正しい。ありがとう。 – etalon11

+0

Outlookオブジェクトモデルはバックグラウンドスレッドで使用できないため、Outlookがクラッシュする可能性があります。また、後者はセカンダリスレッドを使用するため、System.Timers.Timerの代わりにWindows.Forms.Timerを使用します。 –

関連する問題