vba - 如何在 Application_Quit 事件之前触发代码来处理项目?
问题描述
我有以下代码:
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 窗口关闭时,不会触发此事件。
我也尝试过 Application_Quit - 但是当它运行时,它不再可能处理邮件项目。
背景:当我关闭 Outlook 时,我正在尝试重新组织某些项目。
解决方案
Explorer
如果您希望每次都触发事件,则必须单独订阅每个实例并保持这些引用处于活动状态。
基本上,您需要Explorer
通过处理NewExplorer事件来维护打开的对象列表,该事件在新的资源管理器窗口打开时触发,无论是作为用户操作的结果还是通过程序代码。在事件处理程序中,您可以将新Explorer
实例添加到集合中,并在相应实例关闭时在Close事件处理程序中将其删除。
推荐阅读
- java - 使用安全标志在后台自定义 android 应用预览
- graphql - 如何按字符串中的数字对graphql查询进行排序?
- ios - ARKit & Reality composer - 如何使用图像坐标锚定场景
- sql - SQL Server - 创建分组列
- ruby - 在结构数组中查找 N 个公共属性
- ag-grid-angular - AG-Grid,无法重新排序行 - 在网格中拖动 n 行
- python - 使用 Flask 在 python 代码上从 SQLite 到 PostgreSQL
- excel - 根据标准将某些行复制到电子邮件,同时保留原始工作表未修改
- mongodb - Mongodb - 对文档进行分组并从每个组中获取具有字段最大值的文档
- python-3.x - PostgreSQL repmgr 向哪里发送查询