上 VBA类第四讲:打开你的VBE,开始建立属于你的类模块

【分享成果,随喜正能量】诽谤、挫折、失败、疾病等任何形式的痛苦,其实是非常伟大的老师 。依靠它,可以看清很多事情的真相 , 不再盲目地自我膨胀 。。
《VBA中类的解读及应用》教程【10165646】是我推出的第五套教程,目前已经是第一版修订了 。这套教程定位于最高级,是学完初级,中级后的教程 。
类 , 是非常抽象的,更具研究的价值 。随着我们学习、应用VBA的深入,有必要理解这些抽象的理论知识 。对象 , 类,过程,方法,属性,事件 , 接口,接口如何实现等等 。掌握了这些理论,不仅对于VBA这种寄生语言的实质有所深入的理解,也对自然界的很多事物将同样有所感悟 。目前,这套教程程序文件已经通过32位 , 64位两种office系统测试 。
这套教程共两册,八十四讲,今后一段时间会给大家陆续推出修订后的教程内容 。今日的内容是:第四讲:打开你的VBE,开始建立属于你的类模块(上)

上 VBA类第四讲:打开你的VBE,开始建立属于你的类模块

第四讲 打开你的VBE,开始建立属于你的类模块

大家好,今天继续讲解VBA中类的解读及应用,今日讲解第4讲内容: 打开你的VBE,开始建立一个你的类模块 。
我们打开VBE的窗口,插入一个类模块,这时也就建立了一个类 。类模块的名字就是类的名字 。我们可以选中这个类模块,按下F4件修改你需要的名称,这里我们将“类1”改名为“MyClass” , 在名字下面你会看到只有一个属性:Instancing,其值也只有两个选项:Private和PublicNotCreatable 。Instancing属性决定该“类”在其它工程中是否可以被使用 。我们知道,标准模块中的Public过程,可以保存在宏工作簿,可以被另一工作簿的工程调用 , 但类中的代码是不可分割的整体,所以必须整体决定是否允许外用 。当Instancing属性设为Private(默认)时,不允许其它工程访问 。当设置为PublicNotCreatable时 , 只有在自己的工程创建了该类的对象时,其它工程才允许使用这个对象,注意 , 仅仅是在本工程中创建的对象,而不能用它在其它工程中创建对象 。这就是上面两个值的意义 。

1 如何创建类属性的应用属性

对象属性的操作不外乎读和写两种 。现在,看看作为类的提供者需要怎样做 。
Property Get 返回属性的值;
Property Let 设置属性的值;
Property Set 设置对象属性的值(即:该属性含有对象引用) 。
  • 注意点:Property往往是成双出现在类中的某一个属性上,甚至可能三者同时出现,当一个类中某个属性只有Property Get时代表这一属性为只读属性 。
下面我们将为“MyClass”的类,创建一个名称为x的字符型属性 。
1)使用Public变量创建类属性
Public x$
2)使用Property过程创建类属性
Private s$
Property Get x() As String
x = s
End Property
Property Let x(ByVal c As String)
s = c
End Property
在上面的讲解中我们给出了两种创建类属性的方法,在第二种用过程创建,Property过程把对属性的读写分开了,下面讲解一下Property过程的工作机制:
1) Property Get过程提供了属性读功能: 当标准模块中的代码读取对象的属性时 , 便会触发存在的Property Get过程.
2) Property Let过程提供了属性写功能:当标准模块中的代码写入对象属性时,便会触发存在的Property Let过程.
上面两个过程没有先后的要求,可以只有一个 , 或者两个都有,从而提供出去的属性是只读或只写 。
【待续】
上 VBA类第四讲:打开你的VBE,开始建立属于你的类模块

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:
上 VBA类第四讲:打开你的VBE,开始建立属于你的类模块

【上 VBA类第四讲:打开你的VBE,开始建立属于你的类模块】【分享成果 , 随喜正能量】喝茶,喝的是日月沐浴之下 , 山泉滋养之中,一年四季流动的自然之气 。喝茶 , 就是让我们跟随这种草木之性 , 真正将自己还原到自然之中 。?????? 。

相关经验推荐