0

ユーザーがOutlookで新しい事前入力されたメッセージを起動するボタンをクリックできるようにする.NETアプリケーションがあります。これは、1つの小さな例外を除いて、ほとんどの部分でうまく機能します。ユーザーがメッセージを送信するときにOutlookを開いていない場合、ユーザーが実際にメインのOutlookアプリケーションを起動するまで、メッセージは送信トレイに送られます。そうして初めて、送受信が実際に行われるように見えます。

これが私が作成に使用しているコードのスニペットですMailItem

Dim mailItem As Outlook.MailItem = Me.OutlookApplication.CreateItem(Outlook.OlItemType.olMailItem)
mailItem.To = "test@test.com"
mailItem.Subject = "Some Subject"
mailItem.HTMLBody = "Some Text"
mailItem.Display(False)

ItemSendのイベントにもフックしてOutlook.Applicationいるので、ユーザーがSendからクリックするとMailItem、Outlookでイベントが正常に発生することがわかります。

ユーザーがメッセージを起動したときにOutlookが実行されていない場合は、新しいOUTLOOK.EXEプロセスが生成されます。いずれの場合も、Outlookが外部アプリケーションに接続されていることを示すアイコンがシステムトレイに表示されます。

どういうわけか相互運用機能を使用して送受信をトリガーすることは可能ですか?ユーザーがOutlookを個別に開く必要なしにメッセージが確実に送信されるようにすることができますか?

4

1 に答える 1

1

Namespace.SendAndReceiveを使用してみてください

メッセージの送信は非同期であるため、送受信が終了するまでOutlook.Applicationを存続させる必要があることに注意してください。

于 2013-02-22T16:47:37.030 に答える