有一個叫做MailItemClass
的VBA類,它有一個event用於在Outlook中發送電子郵件。我無法在VB.NET中找到它。我查看了documentation,但我無法在MAPI
中找到它。從Outlook發送電子郵件時的調用方法?
(我可以從VB.NET中調用VBA嗎?)
有一個叫做MailItemClass
的VBA類,它有一個event用於在Outlook中發送電子郵件。我無法在VB.NET中找到它。我查看了documentation,但我無法在MAPI
中找到它。從Outlook發送電子郵件時的調用方法?
(我可以從VB.NET中調用VBA嗎?)
您是否正在製作Outlook加載項?有一個事件名爲Application.ItemSend,在項目發送之前引發。我剛剛啓動了VS2010,創建了一個類型爲Outlook 2007加載項的新項目,其中包含下面的代碼,並且當我單擊從Outlook發送時,按預期激活了我的Application_ItemSend
。
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
編輯
如果你讓你用同樣的方法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加載項,也許我應該?我有一個Windows Forms項目,我需要在創建(通過MAPI)電子郵件發送後更新數據庫。 – Zolomon 2011-01-11 14:35:33