首页 > 解决方案 > Application.EnableEvents 有时会自动关闭

问题描述

每隔一段时间,我会发现该Application.EnableEvents属性以某种方式设置为 false,需要我在 VBE 的即时窗口中手动将其设置回 true。对我来说神秘的是它被设置为 false 而不会引发 VBA 错误。如果抛出一个错误,我就不会质疑它。

你们中的任何人都可以帮助我解决可能的原因吗?目前,我没有线索。

上下文信息:

谢谢,

标签: excelvba

解决方案


添加一个监视Application.EnableEvents,确保它是全局的,因此将 Procedure 设置为(All Procedures)和 Module (All Modules)。将手表类型更改为Break When Value Changes

确保您的代码已解锁。然后运行您的应用程序,当值更改时,代码应该在每一行停止。这样,您可以仔细检查您的代码是否符合预期。

顺便说一句,您可以使用 RAII 设计模式来管理这些应用程序设置。这里的代码使用 RAII 设计模式来管理状态栏 本质上,RAII 模式使用一个类并利用析构函数来重置设置。


推荐阅读