第六讲:如何构建类的事件(上)

news2025/1/26 15:42:24

【分享成果,随喜正能量】世界上凡是人聚集的地方,讨论的话题无外乎三个:拐弯抹角的炫耀自己、添油加醋的贬低别人、相互窥探的搬弄是非。人性的丑陋就是:在无权无势、善良的人身上挑毛病;在有权有势的人身上找优点。。

《VBA中类的解读及应用》教程【10165646】是我推出的第五套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。

类,是非常抽象的,更具研究的价值。随着我们学习、应用VBA的深入,有必要理解这些抽象的理论知识。对象,类,过程,方法,属性,事件,接口,接口如何实现等等。掌握了这些理论,不仅对于VBA这种寄生语言的实质有所深入的理解,也对自然界的很多事物将同样有所感悟。目前,这套教程程序文件已经通过32位,64位两种office系统测试。

这套教程共两册,八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是:第六讲:如何构建类的事件(上)56eb28a9033afd69c0685d8623a5b5c4.jpeg

第六讲  如何构建类的事件

大家好,今日我们继续讲解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。(这一点我在后面还有讲解)

[待续]

de6123d3ab628ea3666cfd337621bce0.jpeg

今日内容回向:

1 类的事件是如何创建的?

2 什么是类的事件?

本讲内容参考程序文件:VBA-CLASS(1-28).xlsm

03f68f10b83d462f63f2e94afaf5d631.jpeg

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:


46f174b6e48fe5660725fd1b39c082a6.jpeg

7e2dc858a00b7c4a6555085928925669.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/995892.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【硬件设计】硬件学习笔记二--电源电路设计

硬件学习笔记二--电源电路设计 一、LDO设计1.1 LDO原理1.2 LDO参数1.3 应用 二、DC-DC设计2.1 DC-DC原理2.2 DC-DC参数介绍2.4 DC-DC设计要点2.5 DC-DC设计注意事项 写在前面:本篇笔记来自王工的硬件工程师培训课程,想要学硬件的同学可以去腾讯课堂直接搜…

【LeetCode-中等题】69. x 的平方根

文章目录 题目方法一:二分查找 题目 方法一:二分查找 假设求8的平方根,那就设置left 0 ,right 8; 每次取最中间的元素的平方和8对比,如果大于8,则right mid-1,如果小于8 left mi…

第二节 极限 (一)

一、极限的定义(了解) 二、求极限的方法 (重点 大题8分 选择4分 填空4分) (1) 直接代入 (只要有意义) (2) 洛必达法则(80%解题法) (3) 无穷小和无穷大的性质 (4) 三种特例 (5) 两个重要极限 (6) 等价无穷小的替换 三、真题 方法一&#xff…

蓝桥杯官网填空题(振兴中华)

题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 小明参加了学校的趣味运动会,其中的一个项目是:跳格子。 地上画着一些格子,每个格子里写一个字,如下所示&#xff1…

字符编码(idea)

File----------settings-------------Editor------------File Encodings

常见IO模型(非常详细)

背景知识 常⽤5中⽹络IO模型 阻塞IO(Blocking IO)⾮阻塞IO(Non-Blocking IO)多路复⽤IO(IO Multiplexing)信号驱动IO(Signal Driven IO)异步IO(Asynchronous IO&#x…

IPD-PDT-POP角色的名称、定位和职责说明书

在IPD推进中,有一个不是很关键但却离不开的角色叫做POP,POP这个角色通常是设置在PDT团队中。 那么IPD的PDT团队中的POP这个角色到底是什么意思呢?POP如何开展工作,以及POP的主要岗位职责有哪些呢?华研荟今天给大家分享…

一文解码语言模型:语言模型的原理、实战与评估

目录 一、语言模型概述什么是语言模型?核心概念和数学表示挑战:高维度和稀疏性链式法则与条件概率举例 应用场景小结 二、n元语言模型(n-gram Language Models)基本概念数学表示 代码示例:计算Bigram概率输入与输出 优…

极简极速-Bitset (bitmap)实现考勤打卡场景

文章目录 1. redis命令行操作bitmap2. RedisTemplate操作bitmap3. Java中的Bitset 1. redis命令行操作bitmap 2. RedisTemplate操作bitmap bitmap的常见业务场景主要有日活统计(类似的月考勤)、点赞、BloomFilter等,以用户mj考勤统计为例&am…

掌握AI助手的魔法工具:解密`Prompt`(提示)在AIGC时代的应用(下篇)

前言:在前面的两篇文章中,我们深入探讨了AI助手中的魔法工具——Prompt(提示)的基本概念以及在AIGC(Artificial Intelligence-Generated Content,人工智能生成内容)时代的应用场景。在本篇中&am…

【前端小tip】深拷贝不能处理函数的解决方法,文末包含所有深拷贝常见问题的解决方法

在开发过程中,我对对象进行深拷贝的时候常常使用序列化和反序列化,也就是 const newObj JSON.parse(JSON.stringify(obj))这个方法很好用,但是在最近我发现了一个弊端,就是它只能处理只含有基础类型属性和对象属性的对象&#x…

Python专辑:大话数字类型

I will honour myself by showing up powerfully in my life today。我会为在今日努力生活的自我而感到自豪。 前面我们讲解过关于用Python写温度转换器,画“Python”以及天天学习的代码讲解。不知大家是否还记得,忘记的可以点击上面的专辑去里面复习一下…

反编译小程序详细教程,处理各种异常报错

文章目录 一、准备工作 (一)安装Nodejs (二)解密和逆向工具 二、小程序缓存文件解密 (一)定位小程序缓存路径 (二)源码解密 (三)源码反编译 三、小结 四、异常…

PTA作业笔记——简单的计算

PTA作业笔记——简单的计算 7-10 整数算术运算7-11 猫是液体7-11 猫是液体7-13 计算4个整数的平均值7-14 公元前后日期格式化7-15 A除以B7-18 出租车计价 7-10 整数算术运算 本题要求编写程序,计算并输出2个正整数的和、差、积、商与余数。题目保证输入和输出全部在…

数据集笔记 geolife (操作篇)

数据集介绍可看:数据集笔记:GeoLife GPS 数据 (user guide)_UQI-LIUWJ的博客-CSDN博客 1 读取数据 import os os.chdir(D:/Geolife Trajectories 1.3/Geolife Trajectories 1.3/Data/000/Trajectory)import pandas as pd data pd.read_csv(…

深度学习(Python)学习笔记2

第二章 感知机 2.1 感知机是什么 感知机接收多个输入信号,输出一个信号。 感知机的信号会形成流,向前方输送信息。 感知机的信号只有“流/不流”(1/0)两种取值。 本学习笔记中,0对应“不传递信号”,1对应“传递信号”。 图中、是输入信号,是输出信号,、是权重。图…

WebSocket和Html通讯

一、使用到的相关链接 参考 opencv-websocket: 基于opencv-web的实现 https://github.com/zaphoyd/websocketpp 安装教程 Websocket安装使用 - 知乎 (zhihu.com) 二、编译教程(Ubuntu为例) 遇到相关问题可以参考:Websocket安装使用 - 知乎…

删除无效的括号

题目链接 删除无效的括号 题目描述 注意点 s 由小写英文字母以及括号 ‘(’ 和 ‘)’ 组成1 < s.length < 25返回所有可能的结果。答案可以按 任意顺序 返回 解答思路 首先计算删除无效的括号最少次数需要删除的左括号和右括号的数量&#xff0c;方法是&#xff1a;…

vue3中 | 使用Pinia 进行状态管理 | pinia优化重复请求

问题&#xff1a;当多次调用同一个接口实现渲染时&#xff0c;会重复发送请求。 解决&#xff1a;使用 Pinia 进行数据集中管理&#xff0c;再把数据下发给组件&#xff0c;以供使用。 &#xff08;Pinia可以跨组件/页面共享状态。&#xff09; 1. 用 Pinia 管理数据&#xf…

Java时间复杂度和空间复杂度(详解)

目录 1.复杂度分析 2.时间复杂度 大O的渐进表示法 3.空间复杂度 1.复杂度分析 当我们设计一个算法时&#xff0c;怎样衡量其好坏&#xff1f; 算法在编写为可执行程序后&#xff0c;运行时需要耗费时间资源和空间&#xff08;内存&#xff09;资源。因此&#xff0c;衡量一…