Vba 收件箱搜索只显示特定日期之前收到的电子邮件

Vba 收件箱搜索只显示特定日期之前收到的电子邮件,vba,email,outlook,Vba,Email,Outlook,follow MS Office 2010 VBA摘录循环浏览Outlook收件箱中的电子邮件,仅显示在特定日期(一周多以前)之前收到的电子邮件 更多的电子邮件显示在Outlook本身的同一帐户和同一文件夹中 此问题可能是什么?您确定脚本不会引发错误吗?如果您有MailItem以外的项目(例如ReportItem或MeetingRequest),并且您尝试访问该对象未公开的属性,则会发生这种情况。如果您在错误中有,请在下一步的某个位置继续,将其删除。我测试MailItem是否将其强制转换为Mai

follow MS Office 2010 VBA摘录循环浏览Outlook收件箱中的电子邮件,仅显示在特定日期(一周多以前)之前收到的电子邮件

更多的电子邮件显示在Outlook本身的同一帐户和同一文件夹中


此问题可能是什么?

您确定脚本不会引发错误吗?如果您有MailItem以外的项目(例如ReportItem或MeetingRequest),并且您尝试访问该对象未公开的属性,则会发生这种情况。

如果您在错误中有
,请在下一步的某个位置继续
,将其删除。我测试MailItem是否将其强制转换为
MailItem
。你是迟订还是早订?你在Outlook?然后,如果TypeOf obj是MailItem,您可以执行
,而不是严格键入的名称检查。FWIW您3分钟前没有“测试邮件项目”,所以让我们在这里休息一下。为什么不包含一个复制实际问题的实际脚本,而不是任意删除上下文代码的重要部分,直到我们所能做的就是将随机想法抛向空中?你还没有回答这个问题-你确定脚本不会出错吗?脚本不会出错。我没有复制完整的示例,因为我是一个初学者,尝试并注释了大量内容。是的。这仅适用于mailitem。它无法检测最近的邮件项目。脚本不会引发错误。我没有复制完整的示例,因为我是一名初学者,尝试并注释了大量内容。@MU-答案是:不要假设收件箱中只有MailItem对象。
For Each obj In olFolder.Items
If TypeName(obj) = "MailItem" Then
    Debug.Print obj.Subject & Chr(10) & obj.SenderEmailAddress & Chr(10) & obj.ReceivedTime
End If
Next