我使用此代码......
Dim inspectors As Outlook.Inspectors = Outlook.Application.Inspectors
AddHandler inspectors.NewInspector, AddressOf Inspectors_NewInspector
...将我的自定义面板添加到net mailitem。
但是,如果我在Windows中使用剪切工具并告诉它通过电子邮件发送片段,那么即使创建了新邮件,也不会调用NewInspector。
知道为什么没有调用NewInspector?
由于
更新代码:
这是一个简单的示例代码。从外部程序(如Word,Excel,Snipping工具等)发送邮件不会调用NewInspector事件......
Imports System.Runtime.InteropServices
Imports Microsoft.Office.Interop.Outlook
Imports Microsoft.Office.Tools
Imports Outlook = Microsoft.Office.Interop.Outlook
Public Class ThisAddIn
Private WithEvents _inspectors As Outlook.Inspectors
Private Sub ThisAddIn_Startup() Handles Me.Startup
_inspectors = Globals.ThisAddIn.Application.Inspectors
End Sub
Private Sub ThisAddIn_Shutdown() Handles Me.Shutdown
End Sub
Private Sub _inspectors_NewInspector(Inspector As Inspector) Handles _inspectors.NewInspector
MsgBox("New inspector")
End Sub
End Class
答案 0 :(得分:1)
NewInspector
事件(这是设计使然)。您可以使用定时器循环遍历Application.Inspectors
集合,以检查是否有新的检查器尚未由您的代码处理。
答案 1 :(得分:0)
您需要在全局(类)级别声明inspectors变量,以确保它不是垃圾回收。