首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何防止在工作簿中运行某些宏?

如何防止在工作簿中运行某些宏?
EN

Stack Overflow用户
提问于 2019-01-18 07:55:09
回答 1查看 208关注 0票数 0

我有一组相当复杂的脚本来执行我的工作中的特定功能。由于这项工作的性质,我已经验证了代码,并使用密码将其锁定得相当严密,以防止不适当的使用/编辑(脚本也被锁定,但此查询的脚本没有问题)。这一切都工作得很好,如果出现错误,它会退出并重新保护各个工作表和工作簿。所有宏都是通过相关工作表上的按钮(实际上只是指定了宏的对象,而不是较旧样式的编码按钮)运行的,并且输出良好。然而,今天早上我发现宏仍然可以通过标准的宏屏幕(Alt + F8)运行。由于我在其中有许多用于开发更新版本的脚本,因此我想禁用此功能。

我做了一个选项搜索,找到了UserInterFaceOnly,但它在我的Excel2010上不起作用,我被引导相信它可能不会在以后的版本中使用。有没有人知道如何禁用用户通过Alt + F8宏窗口运行宏的功能,同时允许运行分配给工作表中对象的宏?

锁定工作表/工作簿的代码如下:

代码语言:javascript
运行
复制
For Each ws In Worksheets
        ws.Cells.Locked = True
        ws.Protect Password:=strPWD
Next ws

ActiveWorkbook.Protect Password:=strPWD
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-18 08:31:11

我使用不同的方法找到了一个很好的解决方案。我没有试图锁定功能,而是在模块的开头使用了“Option Private module”条目,这意味着用户永远看不到已经编写的宏。

这个解决方案是显而易见的,但我以前根本没有使用过Private Module选项,所以我最初并没有想到它。希望这个对我自己问题的回答能让其他人在未来受益。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54245967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档