【问题标题】:VBA Outlook: How to Get the Item Number of an Email?VBA Outlook:如何获取电子邮件的项目编号?
【发布时间】:2015-09-09 03:32:01
【问题描述】:

我正在遍历 Outlook 中的每封电子邮件,我想将每封电子邮件的项目 ID 发送到 MsgBox

 For each myMail In myFolder.Items

    Msgbox 

 Next

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

【问题讨论】:

  • .Items(i) 中的 i 不是唯一的,因此您不能将其用作 ID。有一个名为 .EntryID 的唯一 ID。请参阅 Outlook 的 MailItem.EntryID。所以在你的情况下你可以试试myMail.EntryID(这是一个很长的字符串)。

标签: vba email foreach outlook


【解决方案1】:

使用EntryID 属性,该属性返回一个表示对象唯一条目ID 的字符串。下面是 MSDN 对 EntryID 的说明:

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

For each myMail In myFolder.Items
 Msgbox myMail.EntryID
Next

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

【讨论】:

    猜你喜欢
    • 2018-12-26
    • 1970-01-01
    • 2017-10-09
    • 1970-01-01
    • 2018-03-25
    • 2011-12-04
    • 1970-01-01
    • 2016-10-21
    • 2012-12-10
    相关资源
    最近更新 更多