VBA 中类的解释和应用 第 9 讲 使用 WithEvents 声明实例化对象类变量

小夏 科技 更新 2024-02-09

“VBA类的解释和应用”教程[10165646]是我推出的第五套教程,现在是修订版的第一个版本。 这套教程定位于最高级的水平,是学习初级和中级之后的教程。

课程非常抽象,具有更多的研究价值。 当我们深入学习和应用VBA时,有必要理解这些抽象的理论知识。 对象、类、过程、方法、属性、事件、接口、接口的实现方式等。 通过掌握这些理论,您不仅会深刻理解VBA寄生语言的本质,还会深入了解自然界中的许多事物。 目前,这套教程程序文件已经通过了32位和64位办公系统测试。

这套教程由两卷,84讲课组成,修订后的教程内容将在以后介绍给大家。 今天的内容是: VBA 中类的解释和应用 第 9 讲:使用 WithEvents 关键字声明实例化对象类变量

想一想,你创造了多少尚未悔改和净化的邪恶? 不跟着恶趣味死去有多难? 从大多数人目前的情况来看,他们无法确定不会落入三恶境界。 但是,只要全心全意地依靠阿弥陀佛,就可以在今生结束后直接转生到净土,完全摆脱邪界,甚至永远超越生死苦海。

在前面的讲座中,我们首先定义了类,命名了类的名称,并定义了类的事件,其中我们知道事件指的是类引发的调用。 是对象的响应。 更准确地说,事件是由类引发的调用; 是实例化类后对象的响应。 如果我们将以下对象更改为实例化对象,则会更容易理解。 首先命名一个类,然后声明该类响应的事件,但必须先实例化该类,然后才能使用它。

引发事件的实例化类对象被调用事件源为了处理事件源引发的事件,可以使用 withevents 关键字声明实例化的类对象变量。 让我们再来理解一下这句话的意思:在实际应用中,我们面对的是对象,当一个类对象作为变量出现时,它可以响应一个事件,而在声明这样一个对象变量时,我们用声明语句withevents。

1) withevents 变量不能是派生对象变量。也就是说,它不能声明为对象(声明变量时必须指定类名)。

例如:将事件 a 写成对象的错误方式

正确的写法:变暗事件 a 作为文本

2)withevents变量不能声明为new,即withevents关键字和new关键字不能同时使用。如果按如下方式定义它,则会收到一个错误:作为新文本

3) withevents 变量不能在标准模块中声明。它只能在类模块、表单模块和其他定义类的模块中声明。

4)虽然withevents是dim、public、private语句的关键词,但不能在进程中使用withevents关键词来声明对象变量,只能一般使用。

5) 您只能使用 withevents 声明单个变量,而不能声明数组。

示例:今天我们将继续解释上面的例子,在上一讲中我们定义了 mytime 类,在这个类中,我们声明了两个事件如下,一个是 updatetime,另一个是 dabiao。

option explicit

public event updatetime(byval mynow as double)

public event dabiao()

*截图:

这两个事件是类似 mytime 的事件,在形成 mytime 后要实例化以响应。 那么,通过实例化mytime形成的对象是什么呢?

我在表单模块中声明了withevents:

private withevents mtext as mytime

也就是说,在表单中,需要将 mytime formation 类对象实例化为 mtext,这在表单的构造中实现:

option explicit

private withevents mtext as mytime

private sub commandbutton1_click()

textbox1.text = "启动定时器:"

textbox2.text = "0"

mtext.timertask (9)

end sub

private sub commandbutton2_click()

endend sub

private sub mtext_dabiao()

textbox1.text = "已达到标准"

doevents

end sub

private sub mtext_updatetime(byval mynow as double)

textbox2.text = str(format(mynow, "0"))

doevents

end sub

private sub userform_initialize()

textbox1.text = ""

textbox2.text = ""

set mtext = new mytime

end sub

private sub userform_terminate()

endend sub

如下表单所示**截图:

在表单构造函数中,set mtext = new mytime 用于将类的灵魂实例化为物理对象 mtext。

这样我们就可以用这个对象来响应事件updatetime,dabiao,我们来看一下窗口提示的事件截图

提示并可利用两个事件。

至此,我们已经逐渐理解了类的相关知识,比较抽象,但不是很难理解,以后会用这些知识点来讲解,实现我们的具体应用。

本次讲座请参考程序文件:VBA-CLASS(1-28)。xlsm

我在 VBA 方面 20 多年的实践经验浓缩在以下教程中:

相似文章

    类器官的优势和应用

    类器官是指来源于组织外植体 肿瘤 干细胞或其他祖细胞的不同细胞类型的 D 培养物,这些细胞在受控条件下自组织并分化为功能细胞类型,以获得有关器官或身体结构的复杂性 解剖学和生理学的信息。.类器官特征的保留 与标准细胞培养方法相比,类器官的主要优点是培养细胞的 D 空间排列,模仿其自然形态,并且类器官...

    铪在高温合金中的应用与回收

    云天金属摘要 介绍了铪金属在新材料中的应用,重点阐述了铪在高温合金中的机理。综述了含铪高温合金的重要性和方法。第一种铪方法主要包括铪残渣 含铪镍基高温合金回料的再利用 从废物中提取铪的湿法冶金方法。对铪及相关材料的发展趋势进行了展望 随着高温合金的发展,市场对铪的需求量将增加 从含铪废料中提取铪也是...

    煤矿伴热的选择与应用

    煤炭开采是我国重要的能源产业之一,为国家经济发展和民生提供了重要支撑。但由于煤矿开采的特殊性,地下环境温度较低,给煤矿生产带来了一定的困难。为了解决这一问题,伴热作为一种有效的保温产品,被广泛应用于煤矿生产中。下面介绍煤矿伴热的选择和应用。伴热它是一种利用电能产生热量的保温产品,能有效防止管道 储罐...

    数学在物理学中的应用 解释自然规律的力量

    简介 物理与数学的结合是人类深入探索自然世界的有力工具。本文将详细介绍物理学各个领域所涉及的数学知识,并通过案例分析论证数学在解释自然规律方面的重要性。.微积分 描述连续变化的物理量 微积分是物理学中使用最广泛的数学分支之一。它能够准确描述速度 加速度和力等物理量的变化。例如,当我们想计算物体在给定...

    壳聚糖在水处理中的作用及应用

    概述。脱乙酰壳多糖它是一种直链高分子多糖化合物,含有氨基和羟基,可发生水解 羟甲基化 磺化 氧化 络合 缩合等反应。由于壳聚糖分子中存在游离氨基,具有阳离子聚电解质的性质,改性后可直接用作絮凝剂或絮凝剂。函数的特征。就理化性质而言,壳聚糖为白色粉末,无臭 无味 无毒。由于它是一种生物基聚合物,具有良...