我给VBA下的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。我的教程一共九套+一部VBA手册,教程分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到数据库,到字典,到高级的网抓及类的应用;手册是为方便编程人员查找案例编写的。

对于初级及中级的学员,很想看到VBA的利用价值。也是对自己知识点的整合。我推出的YZ系列工具,可以让这个阶段的学员感受到VBA之强大。坚定自己学习VBA的决心。VBA工具共两个系列,一个是YZ系列,一个是NZ系列。YZ系列比较简单些,实用性强,可以在自己的工作中方方面面都可以利用到,今日给大家介绍的是YZ系列工具之YZ07:VBA对工作簿事件的监听

YZ系列工具之YZ07:VBA对工作簿事件的监听_事件监听



【分享成果,随喜正能量】一切结果皆由因起。善因善果,恶有恶报,善恶之果,如影随行。人为善,福虽未至,祸已远离!拥有一颗慈悲之心,行善事,做好事,凡事尽力而为,但行好事,莫问前程!方为世间有福自在之人!。

YZ07:VBA对工作簿事件的监听


有的资料中把“监听”称为“捕获”,我的教程中一般称之为“监听”,更好理解。所谓监听,就是在事件发生时我们可以通过某种手段来感知事件的发生。这个应用中我们使用类模块来监听工作簿中发生的事件。工作簿中会有什么事件呢?无非就是一些关闭,改变等等,这个应用中我给出的代码是监听① Workbook_BeforeSave Workbook_NewSheet Workbook_SheetBeforeRightClick Workbook_SheetChange 四个事件,学员可以根据自己的需要进行增加监听的内容。

本应用最大特点是将工作簿事件的监听放在类模块中,而不是将代码放在ThisWorkbook和工作表对象的事件中。这个工具中将事件监听放在类模块中意味着在代码初始化时会触发事件。这个应用的程序文件是:YZ-TrapEventHandler.xlsm,VBE密码是“123456789”.

YZ系列工具之YZ07:VBA对工作簿事件的监听_事件监听_02




工具的应用界面

如下,我们可以看到这个工具的界面:

YZ系列工具之YZ07:VBA对工作簿事件的监听_事件监听_03



如图所示,这个工具可以监听本工作簿的事件,也可以监听其他工作簿的事件,监听的内容一共四种,非常的清晰和明确。

对本工作簿事件的监听

我们在上述界面点击“监听本工作簿”事件,这时监听就开始了:

YZ系列工具之YZ07:VBA对工作簿事件的监听_实例化_04


我们尝试增加一个工作表,监听的效果如下:

YZ系列工具之YZ07:VBA对工作簿事件的监听_事件监听_05



我们尝试进行右键的点击,监听的效果如下:

YZ系列工具之YZ07:VBA对工作簿事件的监听_事件监听_06


对其他工作簿的监听

这个工具的功能不仅可以监听本工作簿事件也可以监听另外的工作簿,当然这个工作簿默认是没有打开的状态,需要我们打开。如下面的操作:

YZ系列工具之YZ07:VBA对工作簿事件的监听_事件监听_07


点击监听外部工作簿,首先会要求我们选择需要监听的工作簿名称。

YZ系列工具之YZ07:VBA对工作簿事件的监听_实例化_08


我们选择打开。此时会提示监听开始。

YZ系列工具之YZ07:VBA对工作簿事件的监听_实例化_09



我们改变任意的单元格内容,监听提示如下:

YZ系列工具之YZ07:VBA对工作簿事件的监听_VBA_10



我们保存工作簿,ctrl+s,会由于如下的监听提示

YZ系列工具之YZ07:VBA对工作簿事件的监听_VBA_11


此时这个新打开的工作簿的所有事件都被我们监听了。


四技术应用

这个应用工具中我们利用到了:

1 类模块的应用。

2 实例化类。

3 类事件的应用。


当然这个应用的利用价值还是非常大的,大家可以充分发掘。







【分享成果,随喜正能量】





YZ系列工具之YZ07:VBA对工作簿事件的监听_实例化_12