1

我们有一个 COM 插件,可以在 Word 和 Excel 等 MS Office 应用程序中使用。该 COM 加载项公开了一些可供使用的 API,我们将其用于自定义。

问题是 - 任何用户都可以访问 API,这会导致安全问题。我们不希望这种情况发生,我们只想让少数人访问 VBA 编辑器。

有什么办法 - 禁用 VBA 编辑器,而不禁用 VBA,因为我们想使用其他宏和加载项。

提前致谢!

PS - 我尝试从工具栏中隐藏“开发人员”选项卡,但任何知道快捷方式(ALT-F11)的人仍然可以使用它。

4

3 回答 3

2

如果 COM 加载项的要求之一是限制访问,则解决方案不应该是禁用任何可以访问它的东西。答案应该是修复加载项本身。一个简单的方法是定义一个可以使用加载项的用户组,然后只进行加载项检查以验证用户是该组的成员。这应该易于实现且易于维护。

于 2009-07-15T05:53:25.050 回答
1

VBA 密码保护实际上并不能保护您免受阅读文件的人的伤害。移除保护非常简单。

一种替代方法是混淆 COM API 以及 VBA(这样,即使人们可以阅读代码,也很难弄清楚发生了什么)。苹果过去曾这样做过(例如 isYoMamaWearsCombatBootsSupported -- https://github.com/JaviSoto/iOS7-Runtime-Headers/commit/6ccf9c4526992fec0dc414d48e4a3f7446e9822f#L10R61

于 2013-10-08T02:40:29.763 回答
0

您不能添加密码来查看/编辑代码吗?那么至少他们看不到你的api,应该阻止他们打开编辑器。

右键单击 VBA 项目窗口中的项目并选择“属性”以在“保护”选项卡中为该项目添加密码。

于 2009-07-15T05:36:35.787 回答