Vba 使用ConversationID在Outlook中显示电子邮件

Vba 使用ConversationID在Outlook中显示电子邮件,vba,outlook,Vba,Outlook,使用Outlook VBA脚本,是否可以基于从Mailitem类获取的唯一标识符显示电子邮件 i、 e.我在文件夹中循环,并用SenderName、Subject、SentOn和ConversationID填充列表框 For i = oFolder.Items.Count To 1 Step -1 Me.ListBox1.AddItem oFolder.Items.Item(i).ConversationID Next i 列表框是用户表单,我希望能够基于ConversationID显

使用Outlook VBA脚本,是否可以基于从Mailitem类获取的唯一标识符显示电子邮件

i、 e.我在文件夹中循环,并用SenderName、Subject、SentOn和ConversationID填充列表框

For i = oFolder.Items.Count To 1 Step -1
    Me.ListBox1.AddItem oFolder.Items.Item(i).ConversationID
Next i
列表框是用户表单,我希望能够基于ConversationID显示电子邮件。我不确定如何真正做到这一点,但可能是这样的:

Dim Msg As Outlook.MailItem
Set Msg = oFolder.GetObjectFromConversationID(Me.ListBox1.Value).Display
Msg.Display

我根据以下内容找到了答案:

基本上,您必须使用
MailItem.EntryID
,而不是
ConversationID

我使用了与上面链接中相同的代码,但是我使用了后期绑定而不是早期绑定。以下代码将根据
EntryID
打开Outlook电子邮件:

Dim oNamespace作为对象
将Msg作为对象
设置oNamespace=oOlApp.GetNamespace(“MAPI”)
设置Msg=oNamespace.GetItemFromID(EntryID)
Msg.Display