私は持っています。ユーザーは、Outlookで新しい既定のメッセージを起動するボタンをクリックすることができます。 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が外部アプリケーションに接続されていることを示すアイコンがシステムトレイに表示されます。
Interopを使用して送受信を開始することは可能ですか?そのため、ユーザーにOutlookを別途開かなくてもメッセージが送信されるようにすることはできますか?
回答:
回答№1は1Namespace.SendAndReceiveを使用してみてください
メッセージの送信は非同期であるため、送信/受信が終了するまでOutlook.Applicationを有効にしておく必要があります。