自定义模块_VBA|自定义类型、枚举类型和类模块及其使用

本文介绍了VBA中的自定义类型、枚举类型和类模块的声明与使用。自定义类型类似C语言的结构体,枚举类型与C语言的枚举相同。类模块则相当于C语言的类,需要在类模块中声明,并可作为新的类型声明和定义。
摘要由CSDN通过智能技术生成

VBA中,自定义类型相当于C语言中的结构体,枚举类型也与C语言中的枚举类型相似。自定义类型和枚举类型放到模块的子过程的前面即可。

VBA中, 类模块相当于C语言中的类,类模板要单独放到类模块中(自定义类型和子过程放在模块中),类模板的名称就是类的名称,可以做为新的类型进行声明和定义。

1 自定义类型的声明和使用

1.1 自定义类型的声明

Public Type Car Name As String Price As Currency Length As Single ShouDongDang As Boolean ProductionDate As DateEnd Type

1.2 自定义类型的使用

Sub Test1() Dim MyCar As Car, YourCar As Car With MyCar .Name = "桑塔纳" .Price = 300000@ .Length = 4.2 .ShouDongDang = False .ProductionDate = #7/8/2015# End With With YourCar .Name = "大众" .Price = 80000@ .Length = 4.5 .ShouDongDang = True .ProductionDate = #2/18/2015# End With MsgBox "两辆车总价值:" & (MyCar.Price + YourCar.Price)End Sub

2 自定义枚举类型的声明和使用

2.1 自定义枚举类型的声明

Public Enum JapaneseWeekDay

月曜日

火曜日

水曜日

木曜日

金曜日

土曜日

日曜日

End Enum

Public Enum Screen

Width = 1366

Height = 768

End Enum

2.2自定义枚举类型的使用

Sub Test1() Dim a As Long, b As Long a = JapaneseWeekDay.金曜日 b = JapaneseWeekDay.土曜日 MsgBox a + bEnd SubSub Test2() MsgBox Screen.Width * Screen.HeightEnd Sub

3 类模块声明和使用

3.1 类模块声明

菜单:插入→插入类模板clsStudent:

fa400a47b1af028ca7c4e3f75570674b.png
Private mstrname As StringPrivate mstrGrade As StringPublic Property Get name() As String name = mstrnameEnd PropertyPublic Property Let name(ByVal strName As String) mstrname = strNameEnd PropertyPublic Property Get Grade() As String Grade = mstrGradeEnd PropertyPublic Property Let Grade(ByVal strGrade As String) mstrGrade = strGradeEnd PropertyPublic Sub ShowInfo() MsgBox "姓名:" & mstrname & vbCrLf & "年级:" & mstrGradeEnd SubPrivate Sub Class_Initialize() mstrGrade = "一年级"End SubPrivate Sub Class_Terminate() MsgBox "objStudent对象使用的内存及系统资源已经释放"End Sub

3.2 类模块的使用

Public Sub TestclsStudent() Dim objStudent As New clsStudent objStudent.name = "张三" objStudent.ShowInfo Set objStudent = NothingEnd Sub
75c23d70cd76ddd1e64a974049c8372f.png

-End-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值