gpt4 book ai didi

excel - 私有(private)函数可在工作表上使用

转载 作者:行者123 更新时间:2023-12-04 22:10:06 27 4
gpt4 key购买 nike

我发现工作表中仍然可以使用私有(private)函数。它们是隐藏的,但如果用户输入他们的名字,他们就会被调用。为什么?它应该以这种方式工作吗?有没有办法完全阻止用户定义的函数在 VBA 项目之外使用?我试过用 Private 声明函数关键字,或放置 Option Private Module在我的模块顶部。提前致谢。

最佳答案

Option Private Module,只是从函数向导中隐藏 UDF。此选项允许您对外部用户隐藏模块,并更容易查看您公开的函数调用。如果您知道函数的名称,您仍然可以从工作表中使用它们。这就是它的工作原理。

但是,如果您尝试从其他任何地方使用该私有(private)函数,例如 Worksheet_Change 事件,您将无法使用。如果它们被声明为带有“选项私有(private)模块”的“公共(public)”,那么它们就可以被访问。

来自 MSDN :

When a module contains Option Private Module, the public parts, for example, variables, objects, and user-defined types declared at module level, are still available within the project containing the module, but they are not available to other applications or projects.




关于你的问题

Is there a way to completely block user defined functions from being used outside of the VBA project?




我能想到的方法有两种

1) 保护您的 VBA 项目,使用户不知道函数的名称。

2) 创建加载项

关于excel - 私有(private)函数可在工作表上使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9350338/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com