13,excel vba 代码的简化和重复使用_初识对像

作为一个人. 我们知道人具有自己的属性和动作. 比如头发是黑色的.  眼晴是黑的. 牙可能也是黑的. 然后我们也会有做一些动作 , 比如放声歌唱, 或者吃一些东西.   

对像就是具有自己属性和可以执行一些动作的事物.

放在编程中, 对像就是 一些属性和函数的集合体. 比如人这个对像

person

{

name

sex

funciton eat()

function sing()

}

我们上面简单的描述了一下,我们要创建的人具有两个属性: 名字和性别,  具有两个动作, 吃和唱. 

有人这个描述后, 我们就可以开始创建了. 我们随便定一个对像的名字吧. 就叫 xiaoming吧

xiangming = create person

这样我们就有一个对像, 叫xiaoming了. 只是我们还不知道它的姓名和性别是啥. 我们可以在创建了它后, 给它指明下

比如

xiaoming.name =" 小明"

xiaoming.sex ="男"

这样我们电脑中就存在了一个叫xiaoming的对像了. 它的两个属性. name是小明 .sex是男.

上面只是通过一些直白的语句介绍了下对像和对像的创建, 接下来让我们在实际的excel里创建一下吧.

 

1,点插入 -> 类模块.. 这里vba把对像的描述称为 类. 

 

 

修改类的名字为 person .  

 

接下来我们按vba的语法. 来写一下person这个类

Private aaaa As String

Property Let name(S As String)
aaaa = S
End Property
Property Get name() As String
name = aaaa
End Property
Public Function eat()
MsgBox " i want to eat"
End Function

这里我们按vba的语法,  定义了一个name属性和一个eat函数, 即动作. 最上方的 aaaa 可以随便写, 只是为了保存name这个属性的值的. 

有了这个后, 我们就可以开始创建对像了.

我们再插入一个普通的模块, 像以前一样. 

 

Public Sub diandiandidi13()
Dim xiaoming As person
Set xiaoming = New person
xiaoming.name = "aa"
MsgBox xiaoming.name
xiaoming.eat
End Sub
 

 

上面代码中, 最上面的两行.

Dim xiaoming As person  , 这句是告诉vba, 我定义一了个变量, 它的类型是person, 

Set xiaoming = New person   ,这句则是创建了一个 person,对像. 前把这个创建的对像附值给xiaoming, 这样变量xiaoming就代表了这个我们刚刚创建的对像了. 

最前面的set , 这个是vba的语法. 当一个变量表示的是对像变量时, 需要用到set来标明. 这里我们创建了一个person变量, 所以需要用到set . 

 

第三句就是给name 赋值了.  之前我们的单元格也是一个对像. 我们可以用  "." 号来访问她的属性. 比如单元格的颜色属性. 

这里我们刚给person定义了name属性. 因此可以用  xiaoming.name 来赋值和获取. 

您可以自己手动写一下 ,当你写完xiaoming后 ,再加个 "." , 马上vba就会弹出我们刚刚定义的属性和函数了

会出现这个, 还有一个原因是我们前面的Dim xiaoming As person, 这句就是告诉了vba,xiaoming的变量是person类. 所以它才会去找这个类定义了什么属性和函数

 

 

最后的

xiaoming.eat 就是调用我们写的person类里的函数eat了

运行试试? 

 

 

 

 

 

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值