📅  最后修改于: 2020-12-01 05:40:27             🧑  作者: Mango
您可以记录一个宏并将其保存为名称Auto_Open,以在每次打开包含该宏的工作簿时运行它。
您也可以出于工作目的的Open事件而编写VBA代码。每次打开工作簿时,Open事件都会在子过程Workbook_Open()中运行代码。
您可以记录一个Auto_Run宏,如下所示:
如果要在不运行Auto_Open宏的情况下启动Excel,请在启动Excel时按住SHIFT键。
以下是Auto_Open宏的限制-
如果您在其中保存了Auto_Open宏的工作簿包含工作簿Open事件的代码,则Open事件的代码将覆盖Auto_Open宏中的操作。
通过运行使用Open方法的代码打开工作簿时,将忽略Auto_Open宏。
在打开任何其他工作簿之前,将运行一个Auto_Open宏。因此,如果您记录希望Excel在默认Book1工作簿上或从XLStart文件夹加载的工作簿上执行的操作,则重新启动Excel时Auto_Open宏将失败,因为该宏在默认工作簿和启动工作簿打开之前运行。
如果遇到任何这些限制,则必须记录下一节所述的Open事件代码,而不是记录Auto_Open宏。
您可以编写在打开工作簿时将要执行的代码。 VBA为您提供了一个称为open的事件,其中包含一个VBA过程,用于打开工作簿时要执行的操作。
打开工作簿,在其中存储了您为绝对引用编写的宏– Report_ProjectXYZ。运行此宏时,将在工作簿中添加一个新的工作表,并且项目报告结构将出现在新工作表上。
您可以编写一个宏代码,以在打开工作簿时执行这些操作。这意味着当您打开“项目报告”工作簿时,具有报告结构的新工作表将准备就绪,可供您输入详细信息。
在VBA编辑器中遵循以下给定步骤-
在Projects Explorer中双击ThisWorkbook。
在代码窗口中,在左侧下拉列表中选择“工作簿”,在右侧下拉列表中选择“打开”。出现Sub Workbook_Open()。
单击项目资源管理器中的模块。
双击包含宏代码的模块名称。
从模块中复制宏代码,并将其粘贴到Sub WorkBook_Open()中。
保存启用宏的工作簿。再次打开它。宏运行,并插入具有报表结构的新工作表。