每个事件处理程序必须存放在特定类型的代码模块中。工作簿级别事件的代码应该放在ThisWorkbook代码模块中,工作表级别事件的代码应该放在特定工作表的代码模块中(例如,命名为Sheet1的代码模块)。
Private Sub Workbook Open() End Sub 事件处理程序的VBA代码将置于上述两行之间。 Private Sub Workbook_SheetActivate(ByVal Sh As Object) End Sub 该过程使用了一个参数(Sh),它代表了激活的表。在这种情况下,Sh被声明为。object数据类型而非Worksheet 数据类型,因为被激活的表也可能是一个图表。 private Sub Workbook_SheetActivate(ByVal Sh As Object) 一些事件处理程序使用被命名为Cancel的“布尔”参数。例如,工作簿的BeforePrint事件的声明如下: private Sub Workbook BeforePrint(Cancel As Boolean) 传递给过程的Cancel值为False。然而,代码可将Cancel的值设为True,这就取消了打印。下面的例子对此进行了演示: Private Sub Workbook BeforePrint(Cancel As Boolean) 这个Workbook BeforePrint过程在打印工作簿之前执行。此过程将显示一个消息框,询问用户是否确认装载了正确的标签系列。如果单击No按钮,则Cancel将被设为True,不进行打印工作。 |