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

news2024/11/15 19:44:36

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

《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

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

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

相关文章

前沿分享-无创检测血糖RF波

非侵入性血糖仪,利用射频 (RF) 波连续测量血液中的葡萄糖水平。利用射频波技术连续实时监测血液中的葡萄糖水平,使用的辐射要比手机少得多。 大概原理是血液中的葡萄糖是具有介电特性,一般来说就是介电常数。 电磁波波幅的衰减反映了介质对电…

电脑文件丢失如何找回?使用这个方法轻松找回!

电脑文件丢失怎么办?有没有免费的电脑文件恢复软件?相信很多人在日常办公中也都经常会遇到这种现象,不管是在学习中,还是日常的办公,往往也都会在电脑上存储大量的数据文件,那么如果我们在日常办公操作过程…

忆恒创源发布PBlaze7 7940系列PCIe 5.0企业级NVMe SSD

今天,国内知名企业级SSD产品和解决方案供应商——北京忆恒创源科技股份有限公司(Memblaze,以下简称“忆恒创源”)全新一代PCIe 5.0企业级NVMe SSD PBlaze7 7940正式发布。与主流PCIe 4.0产品相比,PBlaze7 7940有着2.5倍…

1.利用matlab建立符号表达式(matlab程序)

1.简述 、 1. 使用sym命令创建符号变量和表达式 语法: sym(‘变量’,参数) %把变量定义为符号对象 说明:参数用来设置限定符号变量的数学特性,可以选择为’positive’、’real’和’unreal’, ’positive’ 表示为“正、实”符…

【C++】位图|布隆过滤器|海量数据处理面试题

文章目录 一.位图1. 位图的概念2. 位图的使用3. 位图的实现 二.布隆过滤器1. 布隆过滤器2. 布隆过滤器的实现 三.海量数据处理面试题1.位图2.布隆过滤器3.哈希切割 一.位图 1. 位图的概念 所谓位图,就是用每一位来存放某种状态,适用于海量数据&#xf…

沁恒ch32V208处理器开发(一)开发环境

目录 简介:开发环境开发界面自定义风格 烧录工具支持范围烧录界面 简介: CH32V2x 系列是南京沁恒基于 32 位 RISC-V 指令集及架构设计的工业级通用微控制器。采用青稞 V4 内核,支持硬件中断堆栈,提升中断响应效率;CH3…

PyCharm新手入门指南

安装好Pycharm后,就可以开始编写第一个函数:Hello World啦~我们就先来学习一些基本的操作,主要包含新建Python文件,运行代码,查看结果等等。 文章主要包含五个部分: 一、界面介绍 主要分为菜单栏、项目目录…

3.2用互斥元保护共享数据

概述 于是,你有一个类似于上一节中链表那样的共享数据结构,你想要保护它免于竞争条件以及可能因此产生的不变量损坏。如果你可以将所有访问该数据结构的代码块标记为互斥的(mutually exclusive),岂不是很好?如果任何线…

flutter 没有open android module in Android studio 插件代码爆红

参考 1.结论 其实就是缺少这个文件 2.解决方案有两个 2.1 方案一 手动创建一个,命名规则是项目名字‘_android’‘.iml’ 内容如下: <?xml version"1.0" encoding"UTF-8"?> <module type"JAVA_MODULE" version"4">&l…

Python小白入门:类和面向对象思想的超详细知识点总结

目录 一、创建和使用类1.1 创建类1.2 根据类创建实例1.2.1访问属性1.2.2 调用方法1.2.3 创建多个实例 练习题 二、使用类和实例2.1 创建一个类2.2 给属性指定默认值2.3 修改属性值2.3.1 直接通过实例进行修改2.3.2通过方法进行设置2.2.3 通过方法对属性值进行递增 练习题 三、继…

【第一阶段】kotlin中反引号中的函数名特点

在kotlin中可以直接中文定义函数&#xff0c;使用反引号进行调用 eg: fun main() {2023年8月9日定义的函数(5) }private fun 2023年8月9日定义的函数(num:Int){println("反引号的用法$num") }执行结果 在Java中is,in可以定义方法&#xff0c;但是在kotlin中is,in是…

基于亚奈奎斯特采样和SOMP算法的平板脉冲响应空间插值matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ...................................................................... %fine regular gr…

RobotFramework的安装过程及应用举例

一、安装python3.8.0 二、安装wxPython C:\>pip install -U wxPython Collecting wxPythonObtaining dependency information for wxPython from https://files.pythonhosted.org/packages/00/78/b11f255451f7a46fce2c96a0abe6aa8b31493c739ade197730511d9ba81a/wxPython-…

flutter开发实战-实现marquee根据文本长度显示文本跑马灯效果

flutter开发实战-实现marquee文本跑马灯效果 最近开发过程中需要marquee文本跑马灯效果&#xff0c;这里使用到了flutter的插件marquee 效果图如下 一、marquee 1.1 引入marquee 在pubspec.yaml中引入marquee # 跑马灯效果marquee: ^2.2.31.2 marquee使用 marquee使用也是…

k8s 自身原理 1

咱们从 pod 一直分享到最近的 Statefulset 资源&#xff0c;到现在好像我们只是知道如何使用 k8s&#xff0c;如何按照 k8s 设计好的规则去应用&#xff0c;去玩 k8s 仔细想想&#xff0c;对于 k8s 自身的内在原理&#xff0c;我们好像还不是很清楚&#xff0c;对于每一个资源…

【linux】-进程概念之环境变量的详解(命令行参数的介绍)

&#x1f496;作者&#xff1a;小树苗渴望变成参天大树&#x1f388; &#x1f389;作者宣言&#xff1a;认真写好每一篇博客&#x1f4a4; &#x1f38a;作者gitee:gitee✨ &#x1f49e;作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 动态规划算法&#x1f384; 如 果 你 …

介绍另外一个容器技术, Apptainer

一说到容器&#xff0c;我们往往会脱口而出&#xff0c; Docker&#xff0c; 实际上Docker 仅仅是Linux 容器化的一种&#xff0c; 今天介绍的Apptainer 就是另外一种容器技术。 那么Apptainer 具体是一个什么东西呢&#xff1f; 跟Docker 有什么区别呢&#xff1f; 首先&#…

剑指 Offer !!56 - II. 数组中数字出现的次数 II

剑指 Offer 56 - II. 数组中数字出现的次数 II 在一个数组 nums 中除一个数字只出现一次之外&#xff0c;其他数字都出现了三次。请找出那个只出现一次的数字。示例 1&#xff1a;输入&#xff1a;nums [3,4,3,3] 输出&#xff1a;4 示例 2&#xff1a;输入&#xff1a;nums …

智慧停车场:城市出行新潮流,轻松驶入未来

在如今城市日益拥堵的交通环境下&#xff0c;停车难题成为人们日常生活中的一大困扰。然而&#xff0c;随着科技的不断进步&#xff0c;智慧停车场的建设正为我们带来更为便捷、高效的出行体验&#xff0c;成为现代城市发展的重要一环。 智慧停车场利用先进的技术手段&#xff…