ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > Option Private Module的作用是什么?

Option Private Module的作用是什么?

作者:绿色风 分类: 时间:2022-08-17 浏览:104
楼主
水星钓鱼
Q:Option Private Module的作用是什么?
A:Option Private Module使拥有这句声明的模块只能在拥有这个模块的工程中被调用,不能被其它工程调用。
如果没有这句声明,则在引用了其它工程后,不同工程中的模块可以相互调用。

由于将Option Private Module声明添加在Sheet1,Sheet2,ThisWorkbook,类模块等模块中时会出现如下的错误提示:

 

它只能被添加在标准模块中,所以它只能使标准模块中的过程不被其它工程调用。

标准模块的添加见下图

 

现在来验证下这个声明的作用
首先必须先手动添加工程引用,见以下链接
见以下链接:
[Excel VBA] 如何在VBA中手动引用其它工程?
http://www.exceltip.net/thread-18657-1-1.html

如下图所示:

 
在Num1工程的模块1中插入以下过程:
  1. Sub test()
  2.     MsgBox 1
  3. End Sub
在Num2工程的Sheet1中插入以下过程,并运行之。
  1. Sub calltest()
  2.     Num1.模块1.test
  3. End Sub
会弹出对话框显示“1”。
如下图所示:

 
重复以上操作,只是在NUM1工程的模块1中插入Option Private Module声明
运行后就出现了错误提示,表示不能被其它工程调用了。

注意:在标准模块添加了Option Private Module声明后,它只能限制该模块中的所有过程不被其它工程调用,并不能限制被本工程内的其它模块调用。
2楼
成就滋味
学习了,感谢

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap