MS Outlook Explorer_Close事件

问题描述 投票:0回答:1

我有一个与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时,我试图重新组织某些项目。

任何人都可以帮忙吗?

vba events outlook outlook-vba
1个回答
0
投票

[您必须单独订阅每个Explorer实例,如果要每次都触发事件,请保持这些引用有效。

[基本上,您需要维护通过处理Explorer事件而打开的NewExplorer对象的列表,该事件在由于用户操作或通过程序代码而在每次打开新的资源管理器窗口时触发。在事件处理程序中,您可以向集合中添加新的Explorer实例,并在关闭相应实例时在Close事件处理程序中将其删除。

© www.soinside.com 2019 - 2024. All rights reserved.