2

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

即,我遍历一个文件夹并使用 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
4

1 回答 1

6

我基于此找到了答案:https ://stackoverflow.com/a/7439554/757856

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

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

Dim oNamespace As Object
Dim Msg As Object
Set oNamespace = oOlApp.GetNamespace("MAPI")
Set Msg = oNamespace.GetItemFromID(EntryID)
Msg.Display
于 2012-12-07T18:01:33.073 回答