手机版

Workbook_Open是否与Auto_Open相同?

时间:2021-09-20 来源:互联网 编辑:宝哥软件园 浏览:

Workbook_Open和Auto_Open可以实现打开工作簿时自动运行自定义代码的功能。Workbook_Open似乎取代了Auto_Open,Auto_Open的存在只是为了与以前的程序兼容。但是,Auto_Open对于Excel开发人员来说还是非常有用的。

对于初学者来说,认真了解Workbook_Open和Auto_Open,解决这两个过程中的一些疑惑,有助于他们更好地学习或阅读相关代码,也可以在自己的代码中合理使用。

工作簿打开和自动打开被放置在不同的位置。

Workbook_Open必须位于ThisWorkbook模块中,Auto_Open必须放在标准模块中,如下图所示。

在这个Workbook模块中,可以直接从VBE编辑器左上方的下拉框中选择Workbook,代码框会自动生成。

在标准模块中,您必须手动输入子自动打开()。

应用程序的影响。EnableEvents事件。

工作簿_打开受到应用程序的影响。启用事件事件,而自动打开不是。也就是当应用程序。EnableEvents事件设置为False,Excel不会触发Workbook_Open。因此,如果您担心应用程序的设置。EnableEvents事件会影响打开工作簿时自定义代码的自动运行,可以使用Auto_Open,这样可以确保用户在打开工作簿时执行自定义代码,而不管Application的状态如何。EnableEvents事件。

注意:打开工作簿时按住SHIFT键将禁用Workbook_Open()和Auto_Open()。

用代码自动打开工作簿的效果。

如果包含Workbook_Open或Auto_Open的工作簿是使用代码自动打开的,则不会触发Auto_Open代码,但会触发Workbook_Open代码。因此,Auto_Open适用于用户自己打开的工作簿,而不适用于通过编写代码自动打开的工作簿。也就是说,如果您只希望用户在自己打开自定义代码时执行它,请使用Auto_Open。

如果要在工作簿自动打开时禁用工作簿打开,可以设置应用程序。打开工作簿前,将EnableEvents事件设置为False。

您可以使用工作簿。如果要在工作簿自动打开时运行自动打开,请运行自动交叉方法。

Workbook_Open和Auto_Open共存时的调用顺序。

如果工作簿中同时存在工作簿打开和自动打开,将首先调用工作簿打开。调用Workbook_Open和Auto_Open后,执行customUI_OnLoad()回调。也就是说,打开工作簿时的调用顺序:

工作簿_打开

自动打开

customUI_OnLoad()

版权声明:Workbook_Open是否与Auto_Open相同?是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。