我为一家公司工作,该公司有一个控制和阻止带有某些扩展名的消息的机制,如.doc,.xls,xlsx,xlsm等等。
我们收到很多批准这些消息的请求,因为它们与我们的客户相关,但在我们这样做之前,我们检查附加文件中的代码以查找VBA,但是当我打开它们时,我收到消息“保护的视图文件来自互联网可以包含病毒“如果我继续打开VBA编辑器(ALT + F11),代码就不存在了。
什么都没有。没有工作表,没有ThisWorkBook,没有。一切都是灰色的。因此,如何在不运行潜在恶意宏代码的情况下查看代码并保持受保护模式。
当我在没有通知的情况下启用所有宏或点击“启用编辑”时,它会起作用,但这不是我想要的。
答案 0 :(得分:3)
您无法在受保护的视图中看到代码(除非有人会分享的技巧。)
但对于部分那么我如何查看代码,而不运行潜在的恶意宏代码 ....这里是解决方案:
使用 Application.AutomationSecurity ,您可以构建/创建一个基本宏,这将允许您在宏禁用模式下打开所有收到的文件。
然后您可以手动阅读代码。 (希望您不要尝试构建代码扫描程序!)
以下是从MSDN
开始的示例 Sub Security()
Dim strFile As String
Dim secAutomation As MsoAutomationSecurity
secAutomation = Application.AutomationSecurity
Application.AutomationSecurity = msoAutomationSecurityForceDisable
'/ Just an example workbook.
strFile = "C:\Users\username\Desktop\fail-test.xlsm"
Workbooks.Open strFile
'/ once the workbook is launced, yoou applicationsetting is restored.
Application.AutomationSecurity = secAutomation
End Sub