创建新的Outlook邮件项事件VB.Net

时间:2014-12-17 10:18:39

标签: vb.net email events outlook-addin

当用户点击“新邮件”按钮编写新邮件时,我试图捕获该事件。关于什么叫做什么的建议?我一直在寻找它,但一切都直接我阅读邮件选项。

2 个答案:

答案 0 :(得分:4)

创建新的Outlook项目时,Visual Studio会创建FirstOutlookAddIn项目并在编辑器中打开ThisAddIn代码文件。

ThisAddIn

中声明一个名为inspectors的字段
Private WithEvents inspectors As Outlook.Inspectors

使用以下代码替换ThisAddIn_Startup方法

Private Sub ThisAddIn_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup
    inspectors = Me.Application.Inspectors
End Sub

ThisAddIn代码文件中,将以下代码添加到ThisAddIn

此代码定义NewInspector事件的事件处理程序。 当用户创建新邮件时,此事件处理程序会将文本添加到邮件的主题行和正文中。

Private Sub inspectors_NewInspector(ByVal Inspector As Microsoft.Office.Interop.Outlook.Inspector) Handles inspectors.NewInspector
    Dim mailItem As Outlook.MailItem = TryCast(Inspector.CurrentItem, Outlook.MailItem)
    If Not (mailItem Is Nothing) Then 
        If mailItem.EntryID Is Nothing Then
            mailItem.Subject = "This text was added by using code"
            mailItem.Body = "This text was added by using code" 
        End If 
    End If 
End Sub

答案 1 :(得分:1)

在某些情况下,在NewInspector事件中访问MailItem太早了。即您将无法获得有效的MailItem对象。这就是为什么我建议等待Inspector类的第一个Activate事件。

您可能会发现MSDN中的Developing an Inspector Wrapper for Outlook 2010文章很有帮助。