试一试,把5.1.1小节中编写的程序写在模块对象里,再次打开工作簿,Excel向你问好了吗?猜一猜,为什么会出现这种情况?
参考答案
不能运行,原因参阅5.1.3小节。
5.1.3 事件过程
因为Workbook(工作簿)对象能识别Open(打开)这个动作,所以打开工作簿就会自动运行相应的程序。
像这种当某个事件发生后自动运行的过程称为事件过程。事件过程也是Sub过程。
事件过程必须写在特定对象所在的模块中,而且只有过程所在的模块里的对象才能触发这个事件。
5.1.4 编写事件过程
事件过程的过程名由Excel自动设置,以“对象名称_事件名称”的形式存在,不能更改。
进入VBE,想编写关于哪个对象的事件过程,就在【工程资源管理器】中双击激活该对象所在模块的【代码窗口】。
如果想写这样的一个程序,当激活Sheetl工作表时,自动完成某些操作或计算,步骤如图5-3所示。
图5-3 编写事件的过程
完成后重新激活代码所在的工作表,程序就运行了。