excel vba 事件示例说明.docVIP

  • 24
  • 0
  • 约2.57万字
  • 约 28页
  • 2020-04-29 发布于江苏
  • 举报
二、Excel 事件(A-E) 1、Activate 事件 激活一个工作簿、工作表、图表或嵌入式图表时产生此事件。 语法 Private Sub object_Activate() object Chart、Workbook、或者 Worksheet。有关使用 Chart 对象的事件的详细内容, 请参阅(1)嵌入式图表事件的用法。 说明 切换两个显示同一工作簿的窗口时,将产生 WindowActivate 事件,但不产生工作簿的 Activate 事件。 新建窗口时不产生本事件。 示例:Activate 事件示例 本示例当激活工作表时对 A1:A10 区域进行排序。 Private Sub Worksheet_Activate() Range(a1:a10).Sort Key1:=Range(a1), Order:=xlAscending End Sub (1)嵌入式图表事件的用法 默认情况下,图表工作表的事件都是可用的。但在使用嵌入式图表的事件之前,必须创建新 的类模块,并与事件一起声明 Chart 类型的对象。例如,假定创建了新的类模块 “EventClassModule”,该模块内应包含下述代码: Public WithEvents myChartClass As Chart 与事件一起声明了新的对象之后,该对象将出现在类模块的“Object”下拉列表框内;此时就 可为该对象编写事件处理过程了。(在“对象”下拉列表框内选定该对象后,“过程”下拉列表 框内将列出该对象的有效事件)。 在事件处理过程运行之前,必须将类模块中声明的对象与相应的嵌入式图表连接起来。可在 任意的模块中用下述代码完成这一操作。 Dim myClassModule As New EventClassModule Sub InitializeChart() Set myClassModule.myChartClass = _ Worksheets(1).ChartObjects(1).Chart End Sub 运行了“InitializeChart”过程之后,类模块中的 myChartClass 对象将指向第 一张工作表上的第一个嵌入式图表,并且当事件产生时,将触发类模块中的事件 处理过程。 2、AddinInstall 事件 当工作簿作为加载宏载入时产生此事件。 语法 Private Sub Workbook_AddinInstall() 示例:AddinInstall 事件示例 本示例当指定工作簿作为加载宏载入时将一个控件添加到标准工具栏中。 Private Sub Workbook_AddinInstall() With Application.Commandbars(Standard).Controls.Add .Caption = The AddIns menu item .OnAction = ThisAddin.xls!Amacro End With End Sub End Sub 3、AddinUninstall 事件 当工作簿作为加载宏卸载时产生此事件。 语法 Private Sub Workbook_AddinUninstall() 说明 卸载加载宏并不同时关闭该加载宏。 示例:AddinUninstall 事件示例 本示例当指定工作簿作为加载宏卸载时将 Microsoft Excel 最小化。 Private Sub Workbook_AddinUninstall() Application.WindowState = xlMinimized End Sub 4、AfterRefresh 事件 当一个查询完成或者取消时产生此事件。 语法 Private Sub QueryTable_AfterRefresh(Success As Boolean) Success 如果查询成功完成则为 True。 示例:AfterRefresh 事件示例 本示例使用 Success 参数判断查询是否成功完成。 Private Sub QueryTable_AfterRefresh(Success As Boolean) If Success Query completed successfully Else Query failed or was cancelled End If End Sub 5、BeforeClose 事件 关闭工作簿时先产生此事件。如果该工作簿已经更改过,本事件在询问用户是否保存更改之 前产生。 语法 Private Sub Workbook_BeforeClose(Cancel As Boolean) Cancel 当事件产生时为 False。如果该事件过程将本参数设为 True,则停止对工作簿的

文档评论(0)

1亿VIP精品文档

相关文档