我想获取对话ID(位于邮件标题中)。
我认为在outlook库中它位于MailItem类和ConversationID成员中。如果从选定的电子邮件,打开的电子邮件或NewMail事件发生时的事件中获取该信息,我感到很遗憾。
任何帮助都将非常感谢!!
答案 0 :(得分:2)
此示例将在消息框中显示对话ID:
Sub GetConvID()
Dim obj As Object
Dim msg As Outlook.mailItem
Set obj = GetCurrentItem
If TypeName(obj) = "MailItem" Then
Set msg = obj
MsgBox msg.ConversationID
End If
End Sub
Function GetCurrentItem() As Object
' returns reference to current item, either the one
' selected (Explorer), or the one currently open (Inspector)
Select Case True
Case IsExplorer(Application.ActiveWindow)
Set GetCurrentItem = ActiveExplorer.Selection.item(1)
Case IsInspector(Application.ActiveWindow)
Set GetCurrentItem = ActiveInspector.CurrentItem
End Select
End Function
Function IsExplorer(itm As Object) As Boolean
IsExplorer = (TypeName(itm) = "Explorer")
End Function
Function IsInspector(itm As Object) As Boolean
IsInspector = (TypeName(itm) = "Inspector")
End Function
关于NewMail事件:
NewMail事件对您希望的场景非常有用 收到新电子邮件时通知。如果你想处理 到达收件箱的商品,请考虑使用ItemAdd事件 收件箱中的项目集合。 ItemAdd事件传递一个 引用添加到文件夹的每个项目。
要在此活动中获取对所选电子邮件的引用,请使用ActiveExplorer.Selection.item(1)
。要获取对已打开电子邮件的引用,请使用ActiveInspector.CurrentItem
。