【发布时间】:2018-11-22 14:44:14
【问题描述】:
我正在尝试创建一个绩效跟踪应用程序 - 基本可以计算出我回复电子邮件的速度。
我想我可能使用了错误的“已发送项目”触发事件,因为对话 ID 是 nothing,以下子 Application_ItemSend 中的一些回复:
Public Class ThisAddIn
Public Shared ConversationThreads As Dictionary(Of String, Date)
Private Sub Application_NewMailEx(EntryIDCollection As String) Handles Application.NewMailEx
For Each itemID In Split(EntryIDCollection, ",")
Dim item = Application.Session.GetItemFromID(itemID)
If TypeName(item) = "MailItem" Then
'is it a Tracked Email
Dim msg As Outlook.MailItem
msg = item
ConversationThreads.Add(msg.ConversationID, Now())
End If
Next
End Sub
Private Sub Application_ItemSend(Item As Object, ByRef Cancel As Boolean) Handles Application.ItemSend
If TypeName(Item) = "MailItem" Then
'is it a Tracked Email
Dim msg As Outlook.MailItem
msg = Item
For Each tRecipient As Outlook.Recipient In msg.Recipients
If Not msg.ConversationID Is Nothing AndAlso
ConversationThreads.ContainsKey(msg.ConversationID) Then
Call OpenCloseThread(msg.ConversationID)
End If
Next
End If
End Sub
end class
我应该为此子使用不同的触发器吗?
【问题讨论】: