Excel Macros 简明教程
Excel Macros - Configuring a Macro
您可以记录一个宏并使用 Auto_Open 名称将其保存,以便在您打开包含此宏的工作簿时运行它。
您还可以编写 VBA 代码,在工作簿的 Open 事件中实现相同目的。Open 事件将在您每次打开工作簿时运行子过程 Workbook_Open() 中的代码。
Recording an Auto_Open Macro
您可以按以下步骤记录一个 Auto_Run 宏:
-
单击功能区的“视图”选项卡。
-
Click Macros.
-
单击“记录宏”。此时将显示“记录宏”对话框。
-
键入 Auto_Run 作为宏名称。
-
键入一个描述并单击“确定”。
-
Start recording the macro.
-
Stop Recording.
-
将工作簿另存为已启用宏的工作簿。
-
Close the workbook.
-
打开工作簿。Auto_Run 宏将自动运行。
如果您希望 Excel 启动时不运行 Auto_Open 宏,请在启动 Excel 时按住 SHIFT 键。
Limitations of Auto_Open Macro
以下是一些 Auto_Open 宏的限制:
-
如果在其中保存 Auto_Open 宏的工作簿包含用于工作簿打开事件的代码,则打开事件的代码将覆盖 Auto_Open 宏中的操作。
-
如果使用打开方法运行代码打开了工作簿,则将忽略 Auto_Open 宏。
-
在任何其他工作簿打开之前,Auto_Open 宏就会运行。因此,如果您记录要在默认 Book1 工作簿或从 XLStart 文件夹加载的工作簿上执行的操作,Auto_Open 宏将在您重新启动 Excel 时失败,因为宏在默认和启动工作簿打开之前运行。
如果您遇到其中任何限制,则必须写入一个 Open 事件代码(如下节所述),而不是记录一个 Auto_Open 宏。
VBA Code for Open Event of a Workbook
您可以编写在打开工作簿时执行的代码。VBA 为您提供了一个名为 Open 的事件,该事件包含一个 VBA 过程,用于执行在打开工作簿时要执行的操作。
在其中存储专用于绝对引用(Report_ProjectXYZ)的宏的工作簿中打开工作簿。运行该宏时,将在工作簿中添加一个新的工作表,并且项目报告结构显示在新的工作表上。
您可在打开工作簿时编写宏代码来执行这些操作。这意味着当您打开“项目报告”工作簿时,带有报告结构的新工作表将准备就绪,供您输入详细信息。
按照 VBA 编辑器中给定的以下过程进行操作:
-
在“项目资源管理器”中双击“ThisWorkbook”。
-
在代码窗口中,在左侧下拉列表中选择“工作簿”,在右侧下拉列表中选择“打开”。将显示“子工作簿_打开”。
-
单击“项目资源管理器”中的“模块”。
-
双击包含宏代码的模块名称。
-
从模块中复制宏代码,并将其粘贴到 WorkBook_Open 中。
保存已启用宏的工作簿。再次将其打开。将运行宏,并将插入带有报表结构的新工作表。