![防止在 PC 上运行恶意/病毒宏的最佳方法](https://linux22.com/image/1496126/%E9%98%B2%E6%AD%A2%E5%9C%A8%20PC%20%E4%B8%8A%E8%BF%90%E8%A1%8C%E6%81%B6%E6%84%8F%2F%E7%97%85%E6%AF%92%E5%AE%8F%E7%9A%84%E6%9C%80%E4%BD%B3%E6%96%B9%E6%B3%95.png)
我有个问题。您能提供一些关于如何防止在 Office 应用中运行可疑宏的提示/解决方案吗?我已经知道的是:
- 可以通过 GPO 无一例外地关闭所有宏
- 我可以通过 GPO 为选定的用户(用户组)打开运行宏,但只允许运行经过数字签名的宏
- 要签署宏,我需要获得一个证书(但我认为不是由 selfcert.exe 自创建的)
基本上,我需要为选定的用户运行宏,但我希望尽可能安全地运行它。这全都是为了控制宏。任何建议都会有用。
答案1
我下载了很多文件。对我来说,最明显的危险是文件会自动运行恶意宏。为了防止这种情况,我在打开文件之前禁用了事件:
Sub GetFile()
Application.EnableEvents = False
Workbooks.Open Filename:="C:\TestFolder\suspicious.xlsm"
End Sub
这使我有机会在运行任何宏之前检查所有宏。
笔记:
如果启用了宏,大多数宏都会在您运行它们时运行。
但是有些宏会自行运行(事件宏)。这些事件宏可能会在打开工作簿时、选择某个工作表时、选择某个单元格时、打印工作表时等情况下运行。我不希望这种自动行为发生,直到我检查完所有宏。该行:
Application.EnableEvents = False
关闭此行为。