智能进销存软件:革新现代库存管理
123
2023-11-07
【摘要】 本书摘自《Excel VBA跟卢子一起学 早做完 不加班 基础入门版》一书中第2章,第5节,韩小良著。
2.5.10 对象变量的赋值——Set
皮蛋:对象变量?
无言:就是对象——数据类型直接声明为Object类型或者Variant或者直接省略后面的声 明,最终使用的类型为对象类型的都必须用以下的方法进行赋值。
1. 常用的对象有哪些
皮 蛋 :言子,我有问题——对于我这个新手村出来的,不要太急。你先和我说下常用的对 象有哪些,如何书写。
无言: 好的。
前面的介绍中也接触过了一些对象,例如单元格、工作表、工作簿、图表、图形等这些都 是在Excel 界面可以经常接触到的对象。其实VBA 原来就是针对对象进行编程的一门语言, 在编写代码的时候都是针对不同对象进行操作的,只要找到了正确的、需要操作的对象,才能 进一步进行方法、属性的操作和赋值等。先看看表2-10所列的几类常用对象。
无言:表2-10中的对象将是编写代码时经常用到的对象,特别是Range对象,该对象就如 平时录入数据、写函数公式一样,在Excel单元格能做到的,通过VBA 的Range 对象同样也能 做到。
2. 如何声明对象变量
皮 蛋:好的,常用的对象知道了,那么在声明这些对象时,我要怎么做呢?
无言:声明变量及数据类型在前面的内容已经说过了,这个你知道怎么做的了吧? ? 皮 里 :知道啊,就用Dim语句来声明变量名称, As后指定必要的数据类型。
无言:对,这个没差。
皮 蛋:但是,对象数据类型可以声明为Object, 但表2-10中的对象又说属于常用的对象, 这个混了。
无言:都没错,我来讲解下。
表2-10中说常用对象类型可以统称为Object, 像说人就是一个统称,但还可按照年龄段 分为婴儿、幼儿、儿童、青壮年、老年这几类。上面的对象分类也是这样的意思, 一个大的统 称中细分为多个其他的类比对象。
② 皮蛋:是不是类似, 一个仓库也是一对象,但是仓库中能放(分)好多零配件或产品,这样呢?
无言:是的,就是这个意思。
在把Object 细分为多种不同对象之后,只需将具体的对象类型声明给变量名称即可,声 明方式还是 Dim 语句的用法,具体例子如表2-11 所示。3. 对象类型的赋值
2.5.9节说的非对象变量的赋值可以使用Let 语句或者省略给变量或属性赋值,那么如何对 已声明具体对象类型的变量进行赋值?
皮蛋:言子,你能快说要怎么赋值吗?
无言:心急吃不了热豆腐,我给你加点酸菜——Set。
对象变量的赋值不能使用Let,只能使用Set语句先看下Set语句的语法及参数作用见表2-12)
将对象引用赋给变量或属性
Set objectvar={[New]objectexpression|Nothing}
Set语句就将已声明的对象类型实质性地赋值给一个指定的对象,如刚才皮蛋说他有对象 了,现在我们就需要具体知道他对象的名字一样,这个就是 Set的作用, Set 在整段赋值代码 中是不可省略的,这和 Let不一样。
无言:为确保合法,objectvar必须是与所赋对象相一致的对象类型。
现在回头看下表2-11中已经声明的具体的数据类型——对象,相当于我们已经知道他已经 是有对象了,而且对象就是某款,此时我们要深究下他对象的具体名字(人)是怎么样的,所 以要把这些对象都揭开面纱看看,此时就需要用到 Set, 它就是那块神秘面纱。按照表 2-11已 声明具体类型对象进行的赋值。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~