可在 Microsoft Excel 中编写工作表级、图表级、查询表级、工作簿级或应用程序级的事件过程。例如,Activate 事件发生在工作表级,而 SheetActivate 事件既可发生在工作簿级,也可发生在应用程序级。工作簿的 SheetActivate 事件发生在激活该工作簿中的任一工作表时,而应用程序级的 SheetActivate 事件发生在任一打开的工作簿中的任一工作表被激活时。
工作表、图表工作表和工作簿事件过程对任意打开的工作表或工作簿都有效。若要为嵌入图表、QueryTable 对象或 Application 对象编写事件过程,则必须在类模块中用 WithEvents 关键字创建新的对象。
可用 EnableEvents 属性来启用或禁用事件。例如,使用 Save 方法保存工作表时,将引发 BeforeSave 事件。可在调用 Save 方法之前将 EnableEvents 属性设置为 False,以防止该事件的发生。
Application.EnableEvents = False
ActiveWorkbook.Save
Application.EnableEvents = True