大家知道,一个包含宏的工作簿如果VBA代码中包含Workbook.Open 事件或模块中含有Auto_Open宏时,打开该工作簿就会运行指定的宏代码。但有时我们希望这些包含在Workbook.Open 事件或Auto_Open宏中的代码在打开工作簿时不自动运行,例如在该代码中还在调试过程中,或其中包含错误时。要实现这一点,可以在打开该工作簿时按住Shift键,具体方法如下:
??? Excel 2003:
??? 一、当宏安全性设置为“低”时
??? 方法一:单击菜单“文件→打开”,在“打开”对话框中选择指定的工作簿,然后按住“Shift”键,单击“打开”按钮。
??? 方法二:单击菜单“文件→打开”,在“打开”对话框中选择指定的工作簿,然后按住“Shift”键,双击该工作簿。
??? 方法三:如果指定的工作簿名称包含在“文件”菜单中的“最近使用的文件列表”中,可以在按住“Shift”键的同时,单击“最近使用的文件列表”中的文件名。
??? 二、当宏安全性设置为“中”时
??? 如果宏安全性设置为“高”或“非常高”,虽然打开工作簿时Workbook.Open 事件或Auto_Open宏中的代码不会自动运行,但同时宏也会被禁用。如果宏安全性设置为“中”,可以按正常方式打开工作簿,Excel会弹出一个“安全警告”对话框,这时在按住“Shift”键的同时,单击“启用宏”按钮,Workbook.Open 事件或Auto_Open宏中的代码就不会被执行,但由于已启用了宏,以后工作簿中的宏代码仍可被执行。
???
??? Excel 2007和Excel 2010:
??? 一、当宏安全性设置为“启用所有宏”时
??? 按照上述Excel 2003中当宏安全性设置为“低”时的方法进行操作。
??? 二、当宏安全性设置为“禁用所有宏,并发出通知”时
??? 1.按上述Excel 2003中当宏安全性设置为“低”时的方法进行操作。
??? 2.Excel会弹出一个“Microsoft Office Excel 安全声明”的对话框,这时直接单击“启用宏”按钮即可,无需再按“Shift”键。
???
……