我在Outlook中遇到的宏问题。要恢复,每次收到电子邮件时都会启动宏。然后它会运行其他几个Sub,修改一个Excel文件等等。当Outlook运行并且我收到一封新电子邮件时,一切都运行良好。当我打开Outlook并同时收到多个电子邮件时,会出现此问题。
我认为宏没有足够的时间来结束它对第一封电子邮件所做的事情,并且已经尝试再次使用下一封电子邮件。
有没有办法让下一封电子邮件处于暂停状态,以便为每封电子邮件运行宏,每个电子邮件轮到你了?或许你有另一个解决方案?
谢谢。
PS:我可以提供代码,但时间很长。
答案 0 :(得分:0)
当我打开Outlook并且同时收到多封电子邮件时,会出现问题。
对于由Microsoft Outlook处理的每个收到的项,Application类的NewMailEx事件被触发一次。该项可以是几种不同项类型之一,例如,MailItem,MeetingItem或SharingItem。 EntryIDsCollection
字符串包含与该项目对应的条目ID。
当新邮件到达收件箱时以及客户端规则处理发生之前,NewMailEx
事件将触发。您可以使用EntryIDCollection数组中返回的条目ID来调用NameSpace.GetItemFromID方法并处理该项目。
确保启用VBA宏并允许Outlook启动时运行。查看Outlook中的信任中心设置。