Add.Item事件如何在Outlook打开时工作?

时间:2017-04-21 15:36:01

标签: vba outlook outlook-vba

我在Outlook中遇到的宏问题。要恢复,每次收到电子邮件时都会启动宏。然后它会运行其他几个Sub,修改一个Excel文件等等。当Outlook运行并且我收到一封新电子邮件时,一切都运行良好。当我打开Outlook并同时收到多个电子邮件时,会出现此问题。

我认为宏没有足够的时间来结束它对第一封电子邮件所做的事情,并且已经尝试再次使用下一封电子邮件。

有没有办法让下一封电子邮件处于暂停状态,以便为每封电子邮件运行宏,每个电子邮件轮到你了?或许你有另一个解决方案?

谢谢。

PS:我可以提供代码,但时间很长。

1 个答案:

答案 0 :(得分:0)

  

当我打开Outlook并且同时收到多封电子邮件时,会出现问题。

对于由Microsoft Outlook处理的每个收到的项,Application类的NewMailEx事件被触发一次。该项可以是几种不同项类型之一,例如,MailItem,MeetingItem或SharingItem。 EntryIDsCollection字符串包含与该项目对应的条目ID。

当新邮件到达收件箱时以及客户端规则处理发生之前,NewMailEx事件将触发。您可以使用EntryIDCollection数组中返回的条目ID来调用NameSpace.GetItemFromID方法并处理该项目。

确保启用VBA宏并允许Outlook启动时运行。查看Outlook中的信任中心设置。