当用户点击“新邮件”按钮编写新邮件时,我试图捕获该事件。关于什么叫做什么的建议?我一直在寻找它,但一切都直接我阅读邮件选项。
答案 0 :(得分:4)
创建新的Outlook项目时,Visual Studio会创建FirstOutlookAddIn
项目并在编辑器中打开ThisAddIn
代码文件。
在ThisAddIn
类
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文章很有帮助。