你已选中了添加链接的内容蓝字关注,加微信NZ9668获资料信息

 VBA解决方案   系列丛书作者 

头条百家平台 VBA资深创作者

_______________________________

大家好,我们这讲讲解实例化类的存储及访问。这讲的内容也是为让我们更加深入地理解类对象的意义。和八戒相比,大师兄的本例最为称道的是拔撮毫毛吹口气,瞬间会产生多个大师兄。类是对象产生的模板,如何在类模块中实现类似功能呢? 在之前的讲解中,我们知道:在VBA中,类在类模块中进行定义,是产生对象的模板。但“对象”一词是非常模糊的。理论上我们可以定义一个对象来表示想要的任何东西;任何概念上可以描述的东西都可以用类表示。类和对象之间的区别是,类什么也不做,也不消耗内存。它就像一幅建筑工地使用的图纸。当您拥有该类类型的变量并使用New关键字创建该类的实例时(称为实例化的进程),它才能成为一个对象并消耗内存,并可以执行操作。一个类由它的属性定义,在类模块中可描述类的属性,以及类的方法(sub过程和函数过程),它们在对象中执行操作。如果类类似于名词,则属性类似于形容词——它描述对象。方法就像一个动词——它执行一个动作。 为了让类对象进行必要的操作,必须将一个类实例化为一个对象。实例化的一个例子如下所示: DimCAsClass1 SetC= NewClass1 其中Class1是类模块的名称。与其他语言不同,VBA只允许一个类模块中存在一个类,而类的名称就是模块的名称。现在C对象变量可以使用Class1中定义的属性和方法。 注:也可以将以上两个语句合并成一个语句: DimCAsNewClass1 这称为自动实例化变量。当在代码中首次遇到变量C时,将创建一个新实例。一般来说,你应该避免自动实例化变量。 为了实现让类模板创建多个类对象并存储,也就是实现拔根毫毛吹口气瞬间产生多个大师兄的功能,我们先写一个简单的员工类的代码,在这个代码中,我们再来展示一下类功能与集合字典的综合运用。 一  首先建立一个宿主型的CEmployee类,先看下面的代码: PrivatepNameAsString PrivatepAddressAsString PrivatepSalaryAsDouble PublicPropertyGetName()AsString Name = pName EndProperty PublicPropertyLetName(ValueAsString) pName = Value EndProperty PublicPropertyGetAddress()AsString Address = pAddress EndProperty PublicPropertyLetAddress(ValueAsString) pAddress = Value EndProperty PublicPropertyGetSalary()AsDouble Salary = pSalary EndProperty PublicPropertyLetSalary(ValueAsDouble) IfValue > 0Then pSalary = Value Else MsgBox "工资数值错误!" EndIf EndProperty 代码截图: 代码讲解: 1  上述代码过程建立了一个标准的宿主型CEmployee类,这个类的过程利用宿主实现了属性值的修改和传递,在数据写入的时候,可以通过值的判断,从而控制值的范围。这段代码是类模块中非常标准的一个代码。 2  在值的传递过程中,Get过程用于从类中返回一个值,而Let过程用于将一个值放入类中。注意,Get属性过程的返回数据类型必须与Let属性过程的(最后一个)参数相同。否则,您将得到一个编译器错误。 今日内容回向: 1  请再次理解什么是类,什么是对象? 2  对象一个标准的类模块,有哪些功能? 3  如何控制属性的值的范围? 本讲内容请参考程序文件VBA-CLASS(下69-71).xlsm  在取代OFFICE新的办公软件没有到来之前,谁能在数据处理方面做到极致,谁就是王者。其中登峰至极的技能非VBA莫属!众鸟高飞尽,孤云独去闲。相看两不厌,只有敬亭山。 学习VBA是个过程,这个过程是自己忍受孤独的过程。 “水善利万物而不争”,你看她绵绵密密,微处则无声,巨则汹涌。学习亦如此,把握现在,为达千里,需要默默耕耘,知道什么是自己所需要的,不要蜷缩在一小块自认为天堂的世界里,待到暮年时去自欺欺人。要在当下,用一颗充满生机的心灵,努力提高自己,这才是进取。越是有意义的事情,困难会越多。愿力决定始终,智慧决定成败。不管遇到什么,都是风景。看淡纷争,看轻得失。一杯茶,满也好,少也好,不要去计较;浓也好,淡也好,其中都有值得品的味道。去感悟真实的时间,静下心,多学习,积累福报。而不是天天混日子,也不是天天熬日子。一切众生的心都在变化,像时间一样,永远不会停留,把握现在就是福报。 VBA是利用Office实现自己小型办公自动化的有效手段,我记得20年前自己初学VBA时,那时的资料甚少,只能看源码自己琢磨,真的很难。20年过去了,为了不让学习VBA的朋友重复我之前的经历,我根据自己多年VBA实际利用经验,推出了五部VBA专门教程,回向给需要学习的朋友: 第一套:VBA代码解决方案是VBA中各个知识点的讲解,覆盖绝大多数的VBA知识点,初学必备; 第二套:VBA数据库解决方案数据库是数据处理的专业利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作。 第三套:VBA数组与字典解决方案   数组和字典是VBA的精华,字典是VBA代码水平提高的有效手段,值得深入的学习。 第四套:VBA代码解决方案之视频是专门面向初学者的视频讲解,可以快速入门,更快的掌握这门技能。 第五套:VBA中类的解读和利用是一部高级教程,讲解类的虚无与肉身的度化,可以对促进自己理论的提高。 学习的过程也是修心的过程,修一个平静的心。在代码的世界中,心平静了,心情好了,身体自然而然就好。心静则正,内心里没有那么多邪知邪见,也就没有那么多妄想。在平静中积累自己的财富。我的上述教程是我多的经验的传递,大家可以根据1,3,2,5或者是4,3,2,5的顺序逐渐深入的逐渐学习。可以WeChat: NZ9668 最后将一阙词送给致力于VBA学习的朋友:  浮云掠过,暗语无声, 唯有清风,惊了梦中啼莺。 望星,疏移北斗, 奈将往事雁同行。 阡陌人,昏灯明暗,忍顾长亭。 多少VBA人, 暗夜中,悄声寻梦,盼却天明。 怎无凭!  分享成果,随喜正能量

_____________________________

有启发 点在看,转给朋友  约作者 请留言,直接交流

更多关联阅读

vba 定义类_神通广大的类,瞬间实例多个类对象相关推荐

  1. python定义一个student类_从零开始学Python-Day38-类和实例

    原标题:从零开始学Python-Day38-类和实例 面向对象编程中最重要的概念就是类(Class)和实例(Instance),其中"类"是抽象的模板,"实例" ...

  2. class unity 定义类_【Unity学习笔记】C#基础-类(Classes)

    1. 行为类 类(class)是物体导向程序(objected oriented programming,OOP)的关键组成部分. functionality>classes>fields ...

  3. 什么是java程序的主类_什么是Java 应用程序的主类?

    问题阐述 在进行Java 应用程序开发时,为了使应用程序能够运行,这个应用程序必须要含有一个主类,请问什么是Java 应用程序的主类? 专家解答 Java 应用程序是由若干类和接口组成的,为了使Jav ...

  4. MySQL查询多表定义实体类_自己设计一个 JAVA + MyBatis 解析实体类多表通用查询

    先来处理一下查询的字段和用到的表吧 //虽然我们使用的时候是实体,但最终还是要解析成sql的,那么我们需要想好解析成sql 时候所用到的东东,提前准备好 class TableEntity { Str ...

  5. 封装时间转换工具类_推荐一款封装各种Util工具类,这款神仙级框架你值得拥有!...

    点击上方 "Java指南者"关注, 星标或置顶一起成长 免费送 1024GB 精品学习资源 来源:ryanc.cc/archives/hutool-java-tools-lib 简 ...

  6. java final 类_在Java中,final修饰的类有什么特点

    展开全部 关于Java中的32313133353236313431303231363533e4b893e5b19e31333264663736final(2010-09-09 14:19:48)转载▼ ...

  7. java 根据类名示例化类_如何使用示例从Java中的类路径加载资源

    java 根据类名示例化类 Java中的类路径不仅用于加载.class文件,而且还可以用于加载资源,例如属性文件,图像,图标,缩略图或任何二进制内容. Java提供了API来将这些资源读取为Input ...

  8. java自定义错误码类_如何编写和应用Java的自定义异常类

    11.7.1编写自定义异常类的模式 编写自定义异常类实际上是继承一个API标准异常类,用新定义的异常处理信息覆盖原有信息的过程.常用的编写自定义异常类的模式如下: public class Custo ...

  9. 一个java程序中什么是主类_下列哪个是Java应用程序主类中正确的main方法?_学小易找答案...

    [判断题]用佛尔哈德法测定Ag + 时,不用先除去氮的低价氧化物.汞盐等杂质. [单选题]下列哪个是Java应用程序主类中正确的main方法? [判断题]javac.exe 命令文件存放在 JDK 安 ...

最新文章

  1. EXP1 PC平台逆向破解
  2. 一种基于openflow的虚拟化层软件flowvisor的API测试
  3. std的find和reverse_iterator联合使用
  4. crc java_java实现CRC16 MODBUS校验算法
  5. java的Teacher类_java类的继承 - osc_tauwfamo的个人空间 - OSCHINA - 中文开源技术交流社区...
  6. 最大化窗口快捷键_ubuntu Gnome快捷键
  7. 未来人工智能的发展应该有哪些特征?
  8. shift and算法
  9. asp.net dev xtraReporting(一)静态页面
  10. 2021-07-14 西门子PLC编程软件--博途V14软件的安装
  11. plsql查看建表语句
  12. C# 将word/ppt文档转换为Pdf的三种方法
  13. 全面认识痛风:症状、风险因素、发病机理及管理
  14. struts2 超链接a标签执行action
  15. word插入公式自动编号 #不起作用的解决方案
  16. 形式逻辑(03)联言判断 和 推理
  17. CADD药物设计;QSAR模型
  18. Pandas引言(二)
  19. 【设计模式】对六大原则的宏观把控和微观细化
  20. 微网站如何做好SEO优化

热门文章

  1. Opencv学习----位图(bitmap)原理详解五---位图存储
  2. 裸辞的你,现在还好吗?
  3. Flutter | flutter_flavor 的使用
  4. 山东大学2019年操作系统试题(回忆)
  5. 隔空对话居然猜到我的小心思,客服的“魔性”挡不住……
  6. 2021/10/24 2021ICPC江西省赛 部分个人题解 A,B,H,K,L,J
  7. 偏光太阳镜测试图片软件,偏光太阳镜测试图片
  8. C语言学习 2.分支语句与循环语句
  9. Unity3D 入门小技巧——鼠标拾取并移动物体
  10. Smarty教程[2]