当前位置: 首页 > news >正文

第5讲:如何构建类的方法

【分享成果,随喜正能量】在这个社会上,对别人好一点,多站在别人的角度考虑,不要为小事争执,不要取笑他人,不要在别人背后嚼舌根,更不能逼人太甚。凡事退一步,对你有好处。。

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

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

这套教程共两册,八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是:第5讲:如何构建类的方法208a01634cf95f22d9738f49238eb350.jpeg

第五讲 如何构建类的方法

大家好,今天继续讲解VBA中类的解读及应用,今日讲解第5讲内容: 如何构建类的方法。在VBA代码中:属性、方法、事件是我们经常用到的,类也是一样。

这套书写到这里,大家对类已经有所了解,并知道了类属性是如何建立的。我在之前的讲解中讲过,类相当于“魂”,“魂”体现在属性中,“魂”的“肉身”相当于对象。我们在实际应用的时候也是利用对象的,构建对象的过程就是要把“魂”实例化的过程。如何利用这些对象呢?就是建立类的方法和事件。这讲的内容就是构建类的方法。构建类的方法其实就是在类模块中写公共的Sub和Function。

1类的应用环境

在讲解类的方法构建之前我们先看一下类的应用环境。类可以如同VBA提供给我们的很多标准类一样使用,类方法的应用环境也就是指包括类所在工程的其它成员在内的,可以调用的资源的集合,包含工作簿、工作表、窗体或其它。在类模块中,你可以象在标准模块中一样操作它们,千万不要因为换成了类模块而产生任何疑虑。类模块中的代码也如同标准模块中一样。在写代码时,如果你预期方法环境在运行时可能会有变化,你要事先预知它们并使用恰当的措施,比如:你不能确定运行时活动工作表的名称,你就可以使用ActiveSheet。这和我们在标准模块中的处理方式是一致的。

在类模块中创建方法,可以对工程中其它成员进行操作,和标准模块中的方式一样。

2在类模块中创建方法的过程

下面我们通过一个实例,来演示一下。在类模块中创建方法的过程,这一过程就是写公共的Sub和Function。

现在我们给前面提到的MyClass创建一个方法PutIntoActiverange功能:将x属性值写入活动单元格。

在类模块中写入下面的过程代码:

Public x$

Sub PutIntoActiverange()

   ActiveCell = x

End Sub

在标准模块中用下面的代码:

Sub mynzclass5() '第5讲构建类的方法,并应用

    Dim mycl As New MyClass

mycl.x = "VBA学习"

   mycl.PutIntoActiverange

End Sub

代码截图:

5dc168196b3d7b424f97a1a217a58044.jpeg

a4dece217b153f094ff9c0e5d69cad42.jpeg

代码的讲解:运行上述过程将在当前的活动单元格中写入"VBA学习"。PutIntoActiverange是类mycl的方法。运行结果:

787f49161c47fd603e7fe945e7c2bf02.jpeg

今日内容回向:

1 如何构建类的方法?

2 类的应用环境是怎么样的?

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

494a6ff40e90f1338a9266b04ab9168f.jpeg

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


a6aec0af6ff2b79a1dc2cc3d588cab3d.jpeg

相关文章:

第5讲:如何构建类的方法

【分享成果,随喜正能量】在这个社会上,对别人好一点,多站在别人的角度考虑,不要为小事争执,不要取笑他人,不要在别人背后嚼舌根,更不能逼人太甚。凡事退一步,对你有好处。。 《VBA中…...

【TypeScript】TS接口interface类型(三)

【TypeScript】TS接口interface类型(三) 【TypeScript】TS接口interface类型(三)一、接口类型二、实践使用2.1 常规类型2.2 设置属性只读 readonly2.3 设置索引签名2.4 设置可选属性2.5 函数类型接口 一、接口类型 TypeScript中的…...

Python web实战之Django 的 RESTful API 设计详解

关键词: Python, Web 开发, Django, RESTful API 1 API的一些事儿 1.1 什么是API? API是应用程序编程接口(Application Programming Interface)的缩写。它是一种定义了不同软件组件之间交互方式的规范。API允许不同的应用程序之间进行通信和…...

Python 程序设计入门(014)—— Python 的 Lambda 函数(匿名函数)

Python 程序设计入门(014)—— Python 的 Lambda 函数(匿名函数) 目录 Python 程序设计入门(014)—— Python 的 Lambda 函数(匿名函数)一、匿名函数的定义二、匿名函数的特征三、匿…...

【MySQL系列】表约束的学习

「前言」文章内容大致是MySQL的表的约束。 「归属专栏」MySQL 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 一、MySQL表的约束1.1 空属性1.2 默认值(default)1.3 列描述(comment)1.4 zerofill1.5 主键(primary ke…...

低功耗LoRaWAN国产低功耗LoRa+RF射频前端芯片XD6500S

目录 典型应用XD6500S简介芯片特性 LoRa系列选型参考 LoRa是为低数据速率、远距离距离和超低功耗而优化的扩频协议,用于LPWAN应用程序的通信。 典型应用 一、智慧农业   智慧农业大田解决方案利用传感设备、自动化控制设备、气象站实时监测采集田间土壤墒情、气象…...

【基础IO】文件系统 {磁盘的物理结构,存储结构,逻辑结构;CHS 和 LBA 寻址方式;磁盘分区和块组;文件inode;软硬链接}

文件系统 文件分为: 内存文件:被进程打开的文件,文件被加载到内存中供进程快速读写。磁盘文件:没有被打开的文件,保存在磁盘上。磁盘文件被分门别类的存储和管理,用于支持更好的存取。 提示: …...

全角字符和半角字符

全角字符的由来 全角符号是双字节中文编码的历史遗留问题。当年在纯文本的界面中,为了让西文和中日韩的方块字对齐,就让西文字母、数字和标点也占用一个汉字的视觉空间,并使用 2 个字节存储。后来,其中的一些全角字符因为比较有用…...

【java】【经验】java: 错误: 不支持发行版本 6

前言:配置过maven之后,发现原来的一些项目运行提示java: 错误: 不支持发行版本 6或者java: 错误: 不支持发行版本 5,主要原因:是因为项目使用的Java版本和安装的Java版本不符合 目录 1 设置项目java版本 2 设置模块版本 3 set…...

Spring Boot3.0(四):Thymeleaf 使用详解

Thymeleaf 介绍 简单说,Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。相较与其他的模板引擎,它有如下三个极吸引人的特点: 1.Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以…...

杨辉三角【Java二维数组】

这个代码中,我们定义了一个二维数组nums来存储杨辉三角的每一个数字。在for循环中,我们初始化每一行的第一个和最后一个数字,并且根据上一行的数字来计算出中间的数字。 接着,我们使用两个嵌套的for循环来输出杨辉三角。第一个循…...

解决SpringBoot服务返回数据存在$ref $.data等相关问题

1、场景 ​ 在日常的开发中,我们数据接口返回数据使用了FastJson序列化数据,当返回一个数据list时候出现" r e f " " ref" " ref"".data" 等类似乱码一样的数据,当时我比较匪夷所思,我写…...

【iOS安全】开启任意app的WebView远程调试

参考:https://mp.weixin.qq.com/s/bNKxQaVrPaXsZ5BPbsXy7w (来自周智老师的公众号) 概述 Safari 有一个内置的前端调试器, 在iPhone通过局域网或者USB连接MacBook 并启用Safari 远程调试之后,前端调试器默认情况下对…...

windows下 java程序无窗口启动、无窗口启动java -jar

创建一个.bat文件,其他照抄,注意一下你自己的jar包路径和日志路径:例:java -jar C:\data\operation-1.0-SNAPSHOT.jar > C:\data\log.log 2>&1 & ------------文件内容 echo off %1 mshta vbscript:CreateObject(…...

锦程消费金融业务生变:App下架,部分自营信贷暂停

来源 | 镭射财经(leishecaijing) 被誉为消金房抵一哥的锦程消费金融,调整旗下自营信贷业务,展业回归房抵场景。 「镭射财经」独家获悉,锦程消费金融已暂停部分自营小额信贷业务,旗下锦囊贷App已经下架&am…...

Python爬虫在框架下的合规操作与风险控制

大家好!作为一名专业的爬虫代理供应商,我今天要和大家分享一些关于Python爬虫在法律框架下的合规操作与风险控制的知识。随着互联网的发展,数据爬取在商业和研究领域扮演着重要的角色,但我们也必须遵守相关法律和规定,…...

前端页面如何创建表格?table的结构、属性有哪些?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ HTML是什么?⭐ table标签的属性⭐ 注意事项⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏…...

神码ai伪原创工具【php源码】

大家好,小编为大家解答python炫酷烟花表白源代码的问题。很多人还不知道html代码烟花特效python,现在让我们一起来看看吧! 火车头采集ai伪原创插件截图: 目录 前言 环境准备 代码编写 效果展示 前言 Python实现浪漫的烟花特效 现在…...

Linux命令200例:mkdir用于创建目录(常用)

🏆作者简介,黑夜开发者,全栈领域新星创作者✌。CSDN专家博主,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 &…...

C语言内嵌汇编

反编译(二进制文件或者so库) objdump --help objdump -M intel -j .text -ld -C -S out > out.txt #显示源代码同时显示行号, 代码段反汇编-M intel 英特尔语法-M x86-64-C:将C符号名逆向解析-S 反汇编的同时,将反汇编代码和源代码交替显…...

《网络是怎样连接的》(三)

《网络是怎样连接的》(二.2)_qq_38480311的博客-CSDN博客 本文主要取材于 《网络是怎样连接的》 第三章。 简述:本文主要内容是解释 通过网线传输出去的包是如何经过集线器、交换机和路由器等网络设备,最终进入互联网的。 信号…...

SpringBoot 配置文件

一、配置文件作用 整个项目中所有重要的数据都是在配置文件中配置的,比如: 数据库的连接信息(包含用户名和密码的设置); 项目的启动端口; 第三方系统的调用秘钥等信息; 用于发现和定位问题的…...

【K8S】 deployment.yaml文件与Service yaml文件详解

目录 deployment.yaml文件详解Service yaml文件详解 deployment.yaml文件详解 apiVersion: extensions/v1beta1 #接口版本 kind: Deployment #接口类型 metadata:name: cango-demo #Deployment名称namespace: cango-prd #命名空间l…...

GMSL 9296芯片对GMSL链路 插损/回损/线束要求

基于美信 9296的芯⽚ 对于GMSL信号链路上的需求如下: 1:插损 频段2M~3.5GHZ 在3G时需要⼩于-21db。通信速率 6Gbps/187Mbps 频段2M~3.5GHZ 在3G时需要⼩于-18db。通信速率 6Gbps/1.5Gbps 频段2M~2GHZ 在1.5G时需要⼩于-19.5db。通信速率 3Gbps/187Mbps …...

用库造一个list的轮子 【C++】

文章目录 list的模拟实现默认成员函数构造函数拷贝构造函数赋值运算符重载析构函数 迭代器迭代器为什么要存在?const_iteratorbegin和end inserterasepush_back && pop_backpush_front &&pop_frontswap 完整代码 list的模拟实现 默认成员函数 构造…...

java中的,>>,<<位运算

目录 二进制 >>,<< & 二进制 计算机内部使用二进制计数 二进制&#xff1a;在数学和数字电路中指以2为基数的记数系统&#xff0c;以2为基数代表系统是二进位制的&#xff0c;这一系统中&#xff0c;通常用两个不同的符号0&#xff08;代表零&#xff09;和…...

成功解决Android设备adb连接后显示device unauthorized

一、提出问题 在电脑通过USB连接新的Android设备&#xff0c;想要通过adb来进行一些操作时&#xff0c;却发现命令提示符上在输入下面命令后显示设备未授权的信息也就是"unauthorized" adb devices二、不可行的解决方案 有人提出的解决方案是打开Android设备的开发…...

初识mysql数据库之引入mysql客户端库

目录 一、下载第三方库 1. 准备工作 1. 使用mysql官网提供的库 2. yum源安装 二、测试第三方库是否可用 三、mysql常用接口介绍 1. 查看官方文档 2. 初始化 3. 关闭mysql 4. 连接mysql 5. 下达sql指令 四、一个简单的C客户端库连接mysql程序 1. 头文件 2. 初始化…...

勘探开发人工智能技术:机器学习(1)

0 提纲 2.1 什么是机器学习 2.2 不确定性 2.3 数据类型 2.4 分类、回归、聚类 2.5 分类问题的训练与测试 2.6 性能评价指标 1 什么是机器学习 对于西瓜这个抽象类来说&#xff0c;它具有“色泽”&#xff0c;“根蒂”&#xff0c;“敲声”三个属性&#xff1a; 通过观察这个…...

MySQL查看当前数据库视图-SQL语句

引言 查询语句为&#xff1a; show full tables where table_type 可查询当前数据库表 一&#xff0c;创建一个视图 # 创建视图 create view v_stu as # 视图内容&#xff08;连接的一个表&#xff09; select name from t_stu union all select tname from t_teach; 二&…...

经济与政府网站建设/寻找客户资源的网站

2019独角兽企业重金招聘Python工程师标准>>> 1.指定目录打jar包 (单模块打包) <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><version>3.1.0</version><configurat…...

网站开发的完整流程图/seo的中文含义是什么意思

Presence of a Pure Virtual Function 可以静态调用纯虚函数&#xff0c;而不能通过虚拟机制调用。在调用时&#xff0c;如果你未定义该纯虚函数&#xff0c;则可以通过编译阶段&#xff0c;但在链接阶段产生错误。 #include <iostream>class A { public:virtual void v…...

计算机编程代码大全/seo优化服务是什么意思

每年6月底&#xff0c;旧的财年就要结束&#xff0c;新的财年即将开始。这是最繁忙的季节&#xff0c;不仅要对本财年的业绩进行分析和回报&#xff0c;还要制定新财年的计划和目标。如果今年取得了骄人的业绩&#xff0c;在回报时就更要做的尽善尽美。一个出色的PowerPoint演示…...

jsp旅游网站开发系统/公司建网站需要多少钱

1、实时监控员工电脑屏幕。可以设置为仅监控一位员工&#xff0c;也可以设置为平铺所有员工屏幕同时监控。 2、键盘输入记录。被控端电脑上输入的文字内容将实时显示在控制端电脑的“键盘记录”选项卡下。 3、流量监控。实时监控员工电脑中上传及下载的流量速度。并可以在流量超…...

青岛做网站公司/网络营销方案的制定

做毕设需要做目标识别的内容&#xff0c;需要GPU进行训练&#xff0c;参考了很多装Cuda的博客和教程&#xff0c;也大致看了一下官方的安装文档&#xff0c;经过了三个月断断续续的摸索&#xff0c;终于把实验室的电脑和自己的电脑成功装上了cuda8.0版本&#xff0c;并在后续装…...

制作网站建设策划方案/关键字优化用什么系统

在本文中&#xff0c;我们将讨论Array.*和Array.prototype.*在ES6中可用于Array类型的大多数新方法。 在讨论它们时&#xff0c;我将在描述“类”方法时编写Array.method()在概述“实例”方法时编写Array.prototype.method() 。 我们还将看到一些示例用法&#xff0c;并为它们提…...