如何用vba禁止触发对象的事件?





在vba中有很多对象都有内置响应的事件。

比如Workbook对象有Open、BeforeClose等事件。

如果编写了对象的事件响应代码,触发具体的事件将执行具体的代码。

有时候,我们需要禁止触发对象的事件,但是又不想将事件的响应代码删除,这时候可以使用

Application对象的EnableEvents属性进行设置,如果属性值为False,则禁止触发对象的事件,反之则允许触发对象的事件。

比如一个excel文件内置了vba代码,打开该文件会出现一个窗体需要输入密码,密码输入不正确则无法进入。

这是由于Workbook对象的Open事件中内置了弹出窗体的代码,如果想要绕过该代码,可以使用如下的代码先禁用Workbook对象的Open事件:

打赏
       

发表评论