【分享成果,随喜正能量】世界上凡是人聚集的地方,讨论的话题无外乎三个:拐弯抹角的炫耀自己、添油加醋的贬低别人、相互窥探的搬弄是非。人性的丑陋就是:在无权无势、善良的人身上挑毛病;在有权有势的人身上找优点。。
《VBA中类的解读及应用》教程【10165646】是我推出的第五套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。
类,是非常抽象的,更具研究的价值。随着我们学习、应用VBA的深入,有必要理解这些抽象的理论知识。对象,类,过程,方法,属性,事件,接口,接口如何实现等等。掌握了这些理论,不仅对于VBA这种寄生语言的实质有所深入的理解,也对自然界的很多事物将同样有所感悟。目前,这套教程程序文件已经通过32位,64位两种office系统测试。
这套教程共两册,八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是:第六讲:如何构建类的事件(上)
第六讲 如何构建类的事件
大家好,今日我们继续讲解VBA中类的解读及应用,今日的内容是如何构建类的事件。这讲的内容虽然枯燥,但对于学习非常有用。
1属性,方法,事件的理解
在前两讲中我们分别讲了类的属性和方法,我们再次区分一下什么是属性,什么是方法,什么是事件。
1)属性 属性指的是对象的性质。
2)方法 方法指的是类的一些操作,是对象的动作。
3) 事件 事件指的是类引发的一个调用;是对象的响应。
区分理解:
1) 类方法的执行需要在代码中以显性的方式指定。
2) 当最终操作者触发类对象时,需要对象产生一系列的操作,就是事件。
3) 事件和方法都是类提供的一系列代码的操作,区别在于,事件无法也不必由代码显性调用,事件没有返回值。
2如何构建类的事件
为了使用对象的事件,需要在对象声明中使用WithEvents关键字声明源事件的对象。例如,需要在myclass 对象中使用mycmd对象的事件,那么我们在myclass类中做如下的声明:
Public WithEvents mycmd As CommandButton
需要注意的是,使用WithEvents只是声明了源事件的变量对象,而并不实际生成对象,为了应用这个对象,你需要将这个类实例化,生成真实的对象,才能在对象上应用这个事件,这个过程就是将魂转化为肉身的过程,转化完成之后,在肉身上才能应用你的事件。
l注意点:WithEvents声明变量不能是通用类变量,如Object,而必须指定类名,也不能把WithEvents变量声明为As New。不能在标准模块中使用WithEvents。(这一点我在后面还有讲解)
[待续]
今日内容回向:
1 类的事件是如何创建的?
2 什么是类的事件?
本讲内容参考程序文件:VBA-CLASS(1-28).xlsm
我20多年的VBA实践经验,全部浓缩在下面的各个教程中: