【问题标题】:Create new Outlook Mail Item event VB.Net创建新的 Outlook 邮件项事件 VB.Net
【发布时间】:2015-02-15 20:40:45
【问题描述】:

当用户单击“新邮件”按钮以编写新邮件时,我试图捕捉该事件。关于这叫什么的任何建议?我一直在到处寻找它,但一切都是我直接阅读邮件的选项。

【问题讨论】:

    标签: vb.net email events outlook-addin


    【解决方案1】:

    在某些情况下,在 NewInspector 事件中访问 MailItem 为时过早。 IE。你不会得到一个有效的 MailItem 对象。这就是为什么我建议等待 Inspector 类的第一个 Activate 事件。

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

    【讨论】:

    • 好建议。取决于您要做什么-以及何时-。 Activate 事件发生在检查器成为活动窗口时,而在此之前访问 NewInspector 事件中的 MailItem
    • 您似乎从未遇到过此类问题。永远不要在第一个 NewInspector 事件中访问 MailItem 对象。
    【解决方案2】:

    当您创建新的 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
    

    【讨论】:

    • 谢谢。这正是我想要的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-24
    • 2013-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-14
    相关资源
    最近更新 更多