首页 > 解决方案 > 选项私有模块有什么作用?插件是否可以访问选项私有模块的过程/功能?

问题描述

我只知道选项私有模块可以从公式选项卡中隐藏过程/功能(防止用户看到它)并且可以在自己的项目中使用。但是,我尝试打开另一个工作簿并运行声明了选项私有模块的工作簿过程并且它可以工作。下面是我的代码:

Application.Run "Workbook1.xlsm!testing"

另外,插件是否可以访问选项私有模块的过程/功能?谢谢

标签: excelvba

解决方案


Option Private 声明的官方文档说:

当模块包含Option Private Module时,公共部分,例如在模块级别声明的变量对象用户定义类型,在包含该模块的项目中仍然可用,但它们对其他应用程序或项目不可用。

这意味着模块中的公共声明变量Option Private Module仅在当前项目中可用,而对其他项目不可用。这不会影响声明为Public. 它们仍然可用于Application.Run "Workbook1.xlsm!testing".

这样做的好处Option Private Module是您可以在项目可以使用的模块中拥有Public/Global变量,但没有其他项目可以干扰和弄乱它。


推荐阅读