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

【分享成果,随喜正能量】善心善行的你,利己利他,积累无量福德,菩萨常伴左右,保佑一生平安, 财运亨通,福禄双收。身如逆流船,心比铁石坚。。

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

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

YZ07 VBA对工作簿事件的监听

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

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

一工具的应用界面

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

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

二对本工作簿事件的监听

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

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

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

三对其他工作簿的监听

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

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

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

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

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

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

四技术应用

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

  1 类模块的应用。

 2 实例化类。

 3 类事件的应用。

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

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

相关推荐
随意02312 分钟前
Qt 事件
开发语言·qt
鸥梨菌Honevid19 分钟前
Qt自定义控件(1)——QPaintEvent
开发语言·qt
Code季风22 分钟前
深入比较 Gin 与 Beego:Go Web 框架的两大选择
开发语言·golang·go·gin·beego
专注VB编程开发20年1 小时前
javascript的类,ES6模块写法在VSCODE中智能提示
开发语言·javascript·vscode
黄雪超9 小时前
JVM——函数式语法糖:如何使用Function、Stream来编写函数式程序?
java·开发语言·jvm
ThetaarSofVenice9 小时前
对象的finalization机制Test
java·开发语言·jvm
思则变9 小时前
[Pytest] [Part 2]增加 log功能
开发语言·python·pytest
lijingguang9 小时前
在C#中根据URL下载文件并保存到本地,可以使用以下方法(推荐使用现代异步方式)
开发语言·c#
¥-oriented10 小时前
【C#中路径相关的概念】
开发语言·c#
CoderCodingNo10 小时前
【GESP】C++四级考试大纲知识点梳理, (7) 排序算法基本概念
开发语言·c++·排序算法