类模块
时间:2022-07-22
本文章向大家介绍类模块,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
类是一种特殊的代码组织方式,普通模块写的代码是Sub过程、或者Function函数,而类模块里的代码,它都属于这个类,在它内部也可以有Sub过程、或者Function函数,但和普通模块里不同的是,它在使用之前,必须要先创建类的实例,也就是和VBA使用外部对象字典等那样,要New一个:
Set c = New 类
然后就可以像使用对象那样,调用类的方法、属性等。
1、创建类:
在VBA编辑器里,点击插入-类模块,就插入了一个叫做类1的东西,和普通模块一样的是,展现给我们的就是一个写代码的地方,尽管什么都没有写,但是这个操作已经创建了一个新的类了,在普通模块中已经可以去使用了:
Sub TestClass()
Dim c As 类1
Set c = New 类1
Set c = Nothing
End Sub
只不过这个类没有任何属性、方法,没有什么可以去使用的!
2、创建属性:
类的属性也是有固定格式的,和Sub、Function一样,属性也有这么一个关键字,叫做Property。
类的普通属性设置方法:
Private vTestProperty As Long
'设置属性
Property Let TestProperty(Value As Long)
vTestProperty = Value
End Property
'读取属性
Property Get TestProperty() As Long
TestProperty = vTestProperty
End Property
设置属性的时候,一般都要在类模块顶部定义一个私有变量来记录属性的值。
变量在赋值时,普通变量是使用Let,不过一般都省略,对象变量使用Set。
所以如果是类设置的属性是对象,那么Let就必须修改为Set。
设置好后,就可以在普通模块里去使用了:
Sub TestClass()
Dim c As 类1
Set c = New 类1
c.TestProperty = 1
Debug.Print c.TestProperty
Set c = Nothing
End Sub
使用方法和使用VBA里的对象是一样的,在输入“.”之后,也会给出提示。
3、创建方法:
创建方法和普通模块几乎没有区别:
Sub TestSub()
MsgBox "TestSub"
End Sub
Function TestFunction() As String
TestFunction = "TestFunction"
End Function
普通模块里,直接调用即可:
Sub TestClass()
Dim c As 类1
Set c = New 类1
c.TestProperty = 1
Debug.Print c.TestProperty
c.TestSub
Debug.Print c.TestFunction()
Set c = Nothing
End Sub
创建类,再创建属性、方法,也就是创建了一个自己的对象,这种代码的组织方式,在进行一些稍微复杂的程序开发时是非常有用的,但是初学者一般在前期是很少能用上的,只要知道有这么一种东西就可以。
- 重温二分查找算法(r4笔记第66天)
- 【不用框架】文件上传和下载
- JSP第七篇【简单标签、应用、DynamicAttribute接口】
- Java基础-07(02).总结private,this,封装,static,成员方法变量,局部变量匿名对象
- 通过shell脚本快速定位active session问题(r4笔记第65天)
- 01 整合IDEA+Maven+SSM框架的高并发的商品秒杀项目之业务分析与DAO层
- JSP第六篇【自定义标签之传统标签】
- 过滤器监听器面试题都在这里
- 02 整合IDEA+Maven+SSM框架的高并发的商品秒杀项目之Service层
- JSP第五篇【JSTL的介绍、core标签库、fn方法库、fmt标签库】
- java中的序列化 (r4笔记第64天)
- JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】
- 03 整合IDEA+Maven+SSM框架的高并发的商品秒杀项目之web层
- JSP第三篇【JavaBean的介绍、JSP的行为--JavaBean】
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法