本帖最后由 wbzxz 于 2011-4-7 00:07 编辑
4.WithEvents应用范例1一显式使用对象事件 我们知道,Excel可以监视不少对象的事件,如Workbook,Worksheet,UserFrom等等,通常输入事件过程的代码时,首先从代码编辑器的左边下拉列表中选择对象,然后从代码编辑器右边下拉列表中选择事件,如下图所示。
但是有些对象,如Application对象,是无法这样输入事件过程的,只有使用了WithEvents定义了对象变量,然后将Application对象引用赋值给对象变量之后,才可以像上图一样使用。下面我们举个例子来说明一下。
例子说明:利用Application的WindowResize事件,当我们调整工作薄窗口大小的时候,弹出对话框。
代码编写位置:我们在Sheet1文档模块中编写(你也可以在Sheet2,Sheet3,ThisWorkbook等模块中编写,效果是一样的)
编写过程:
(1)声明变量,定义对象变量app: Private WithEvents app As Application (2)声明过程,将Application对象的引用赋值给app: Sub test() Set app = ApplicationEnd Sub 这个时候,我们就可以通过代码编辑器的左右下拉列表框选择Application对象的事件过程啦(不过是以app对象变量的形式出现的),如下图所示:
(3)编写事件过程代码: Private Sub app_WindowResize(ByVal Wb As Workbook, ByVal Wn As Window) MsgBox "你改变了工作薄窗口的大小" End Sub
运行方法:运行test过程,然后改变工作簿的大小,就会弹出提示框。
代码:
- Option Explicit
- Private WithEvents app As Application ‘ 定义对象变量
- Sub test()
- Set app = Application ‘将Application对象的引用赋值给对象变量app:
- End Sub
- ‘编写事件过程
- Private Sub app_WindowResize(ByVal Wb As Workbook, ByVal Wn As Window)
- MsgBox "你改变了工作薄窗口的大小"
- End Sub
复制代码
显式使用对象事件.rar
(7.92 KB, 下载次数: 266)
|