我有一个与Outlook VBA上的Explorer_Close事件有关的问题。
我有以下代码:
Option Explicit
Public WithEvents myOlExp As Outlook.Explorer
' Initiation
Private Sub Application_Startup()
Set myOlExp = Application.ActiveExplorer
End Sub
' Termination
Private Sub myOlExp_Close()
MsgBox "quit"
End Sub
代码本身可以正常工作-有一个重要限制(=我的问题)。仅在打开多个Outlook窗口并将其关闭时才触发Explorer_Close事件。但是,当关闭上一个/主Outlook窗口时,不会触发此事件。
我也尝试过Application_Quit-但是当它运行时,将不再可能处理邮件项目。
背景:关闭Outlook时,我试图重新组织某些项目。
任何人都可以帮忙吗?
[您必须单独订阅每个Explorer
实例,如果要每次都触发事件,请保持这些引用有效。
[基本上,您需要维护通过处理Explorer
事件而打开的NewExplorer对象的列表,该事件在由于用户操作或通过程序代码而在每次打开新的资源管理器窗口时触发。在事件处理程序中,您可以向集合中添加新的Explorer
实例,并在关闭相应实例时在Close事件处理程序中将其删除。