ad

跟着一起学《Excel VBA跟卢子一起学 早做完 不加班 基础入门版》_2.5 公有和私有的设置和作用

网友投稿 112 2023-11-07

【摘要】 本书摘自《Excel VBA跟卢子一起学 早做完 不加班 基础入门版》一书中第2章,第5节,韩小良著。

2.5 公有和私有的设置和作用

无言:皮蛋,估计你已经温故而知新了吧。这里再给你脑补下公有和私有的初步概念和作用。

皮蛋:好吧,来吧。

跟着一起学《Excel VBA跟卢子一起学 早做完 不加班 基础入门版》_2.5 公有和私有的设置和作用

什么是公有模式/私有模式

所谓公有模式是针对于子过程(函数)、变量、常数而言,其能被其他模块工程的过程查 看引用。私有模式相当于子过程(函数)、变量、常数等不能被其他模块工程查看引用,只能 在当前模块中的过程(函数)查看引用。不同模式下,它们的作用范围和作用周期都不同,它 们的标识也不同,下面将进行讲解。设置过程的公有/私有

皮蛋: 不懂。

无言:那我继续了,以子过程来说吧。

一般书写子过程时,都省略 Public或 者 Private 这两个参数,在省略的时候子过程都默认 公有过程,此时无论在哪个模块和工程下都可以引用该模块的该过程。

如图2-36所示,已写了4个子过程,测试01子过程没有直接标明为公有过程(隐性), 但是在图2-37中却可以通过添加“模块名称+.+过程名称”,直接调用模块1中的该过程。

而测试02子过程直接显性声明该过程为公有过程,在模块2中以同样的形式也可以直接 调用;但是采用了 Private的私有变量测试01子过程,在跨模块调用时即使采用了模块加名称 的方式也没法自动弹出来可选择私有过程列表项,就算强制人工添加运行也会出现如图2-38 所示的“方法和数据成员未找到”错误提示。皮蛋:原来公用和私有子过程是这样调用的啊,那如果本模块中的调用自己的子过程呢?

无言:自定义函数也是一样的,标不标明公有函数都可以直接被调用,但是如果写在工作 簿等其他非标准模块中的自定义函数都是无法被调用的。

皮 蛋 :好的,这个知道了,那本模块的呢?

无言:自身模块的特简单啦,So Easy!

模块调用自己的本模块内的所有子过程,不管是公有过程还是已标明为私有过程的子程序 都可以轻松调用,只需要直接通过关键字获取成员列表后选择对应的过程名字就可以了。

皮蛋: 这个理解了,还是挺简单的。

2.5.3 自动插入完整的子过程/函数外壳

无言:皮蛋,VBE还有一个自动插入子过程(函数)外壳的功能,这个对于懒人来说不错 哦,还可以防错呢!

皮 蛋 :有这等好事,不早说。

无言:这不正要和你说来着。

对于公有或私有拼写不熟的新手,咱们可以直接通过选择【插入】 → 【过程】命令,打开 【添加过程】对话框。该对话框中各项的功能,下面——介绍。

(1)【名称】文本框用于输入该过程的名称,必须输入不能为空,取名规则符合变量取名。

(2) 【类型】包括【子程序】 【函数】和【属性】,一般默认为【子程序】,按照需求 选择即可。

(3) 【范围】就是刚才一直说的公有和私有过程,在此进行选择后,系统将自动根据选 择在过程前面添加 Public 或者Private。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《Excel VBA跟卢子一起学早做完,不加班(实战进阶版)》_提升工作效率_1.6.3 使用 Sort 对象排序
下一篇:《Excel VBA+SQL数据管理与应用模板开发》_工作效率UP!_6.2.3 常用控件:文本框
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×