MailItemClass
という名前のVBAクラスには、Outlookで電子メールを送信したときにeventという文字列が含まれています。私はVB.NETのためにこれを見つけることができません。私はdocumentationを見てきましたが、私はちょうどMAPI
でそれを見つけることができません。Outlookから電子メールを送信するときにメソッドを呼び出しますか?
(VB.NETからVBAを呼び出せますか?)
MailItemClass
という名前のVBAクラスには、Outlookで電子メールを送信したときにeventという文字列が含まれています。私はVB.NETのためにこれを見つけることができません。私はdocumentationを見てきましたが、私はちょうどMAPI
でそれを見つけることができません。Outlookから電子メールを送信するときにメソッドを呼び出しますか?
(VB.NETからVBAを呼び出せますか?)
Outlookアドインを作成していますか?アイテムが送信される前に発生したApplication.ItemSendというイベントがあります。私はちょうどVS2010を起動し、Outlook 2007から送信する新しいアドインのプロジェクトを作成しました。ちょうど下のコードが含まれていて、Application_ItemSend
はOutlookから送信をクリックしたときに予想どおりに起動しました。
Public Class ThisAddIn
Private Sub ThisAddIn_Startup() Handles Me.Startup
End Sub
Private Sub ThisAddIn_Shutdown() Handles Me.Shutdown
End Sub
Private Sub Application_ItemSend(ByVal Item As Object, ByRef Cancel As Boolean) Handles Application.ItemSend
System.Windows.Forms.MessageBox.Show("Hi")
End Sub
End Class
EDIT
あなたが同じメソッドを使用しますが、あなたは少し違っそれを「見る」のWinFormsアプリを作っている場合。少し混乱させることができるのは、メールアイテム自体からではなく、アプリケーションレベルでイベントが発生するということです。
Public Class Form1
''//Holds a reference to our mail application
Private WithEvents OA As Microsoft.Office.Interop.Outlook.Application
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
''//Either launches Outlook or snaps to the current running one
OA = New Microsoft.Office.Interop.Outlook.Application()
End Sub
Private Sub OA_ItemSend(ByVal Item As Object, ByRef Cancel As Boolean) Handles OA.ItemSend
MessageBox.Show("Hello")
End Sub
End Class
いいえ、私はOutlookアドインを作成していないでしょうか?私は作成された(MAPIを介して)電子メールが送信されると、データベースを更新する必要があるWindowsフォームプロジェクトを持っています。 – Zolomon
上記のコードをWinFormsのバージョンで更新しました。 –
ありがとう、私はそれを試してみましょう! – Zolomon