跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

Excel如何设置工作簿在打开时自动运行特定宏_在ThisWorkbook中编写Open事件

需在ThisWorkbook模块中编写Workbook_Open事件代码,并将文件保存为.xlsm格式,同时确保宏安全性设置允许运行。

如果您希望Excel工作簿在打开时自动执行一段VBA代码,例如初始化设置、检查数据完整性或显示欢迎信息,则需利用ThisWorkbook对象的Open事件。以下是实现此功能的具体步骤:

一、启用开发工具并打开VBA编辑器

ThisWorkbook模块默认不可见,需先调出“开发工具”选项卡并进入VBA环境才能编辑。该操作为后续编写事件代码的前提。

1、在Excel主界面左上角点击“文件”→“选项”→“自定义功能区”。

2、在右侧“主选项卡”列表中勾选

开发工具,点击“确定”。

3、在功能区点击“开发工具”→“Visual Basic”,或按快捷键Alt + F11打开VBA编辑器。

二、定位并双击ThisWorkbook对象

ThisWorkbook是代表当前工作簿的专用类模块,其内置的Open事件仅在此处定义才有效。其他模块(如Module1或Sheet1)中的Sub过程无法被自动触发。

1、在VBA编辑器左侧的“工程资源管理器”中找到当前工作簿名称(如VBAProject (Book1.xlsm))。

2、展开其节点,找到

ThisWorkbook项。

3、双击

ThisWorkbook,右侧代码窗口将显示空白模块。

三、插入Workbook_Open事件过程

Excel会自动识别以Workbook_Open命名的过程为打开事件入口,无需手动注册或绑定。该过程必须位于ThisWorkbook模块内,且签名不可修改。

1、在ThisWorkbook代码窗口中,从上方两个下拉菜单中:左侧选择Workbook,右侧选择Open。

2、VBA将自动生成如下结构的空事件过程:

Private Sub Workbook_Open() End Sub 3、在Sub与End Sub之间输入您的宏代码,例如:MsgBox "工作簿已打开,正在运行初始化宏。"

四、保存为启用宏的工作簿格式

Open事件仅在启用宏的文件类型中生效。若保存为.xlsx格式,所有VBA代码将被清除,事件失效。

1、返回Excel界面,点击“文件”→“另存为”→选择保存位置。

2、在“保存类型”下拉菜单中,必须选择

Excel启用宏的工作簿 (*.xlsm)。

3、点击“保存”,关闭并重新打开该.xlsm文件,验证Open事件是否触发。

五、确保宏安全性设置允许运行

即使代码正确且格式无误,若Excel的安全设置禁用宏,Open事件仍不会执行。需临时调整信任中心配置以启用宏运行。

1、点击“文件”→“选项”→“信任中心”→“信任中心设置”。

2、选择“宏设置”,勾选

启用所有宏(不推荐;可能会运行有危险的代码)

或禁用所有宏,并发出通知。

3、点击“确定”后重启Excel,再次打开.xlsm文件时,若看到黄色安全警告栏,需点击“启用内容”。

相关文章