VBA Outlook:如何获取电子邮件的项目编号?

VBA Outlook:如何获取电子邮件的项目编号?,vba,email,foreach,outlook,Vba,Email,Foreach,Outlook,我在Outlook中循环浏览每封电子邮件,并希望MsgBox显示每封电子邮件的项目ID For each myMail In myFolder.Items Msgbox Next 输出应该类似于项(1)或项(2)。使用返回表示对象唯一条目ID的字符串的属性。以下是MSDN为EntryID声明的内容: MAPI存储提供程序在其存储中创建项时会分配唯一的ID字符串。因此,在保存或发送Outlook项目之前,不会为其设置EntryID属性。当项目移动到另一个存储时,条目ID会发生更

我在Outlook中循环浏览每封电子邮件,并希望MsgBox显示每封电子邮件的项目ID

 For each myMail In myFolder.Items

    Msgbox 

 Next
输出应该类似于项(1)或项(2)。

使用返回表示对象唯一条目ID的字符串的属性。以下是MSDN为EntryID声明的内容:

MAPI存储提供程序在其存储中创建项时会分配唯一的ID字符串。因此,在保存或发送Outlook项目之前,不会为其设置EntryID属性。当项目移动到另一个存储时,条目ID会发生更改,例如,从收件箱移动到Microsoft Exchange Server公用文件夹,或从一个个人文件夹(.pst)文件移动到另一个.pst文件。除非不移动项,否则解决方案不应依赖于唯一的EntryID属性

注意,遍历文件夹中的每个项目可能需要很多时间。如果您需要在文件夹中查找邮件项目,我建议您使用
Items
类的
find
/
FindNext
Restrict
方法

.Items(i)
中的i不是唯一的,因此不能将其用作ID。有一个唯一的ID称为
.EntryID
。请参阅Outlook的。因此,在您的情况下,您可以尝试
myMail.EntryID
(这是一个很长的字符串)。
For each myMail In myFolder.Items
 Msgbox myMail.EntryID
Next