在MS Office中,当打开包含VBA项目但不受信任的文档时,用户可以选择“启用内容”。
在启用内容之前打开VBA IDE确认没有空白 资源管理器中的项目(无代码)。
点击“启用内容”会添加另一个项目,这次是代码。无论出于何种原因,“空”项目都会继续存在。模板的名称为NOT TRUSTED.dotm
,文档的名称为NOT TRUSTED.docx
。
注意:“空”项目总是被赋予默认项目名称“ TemplateProject”(而实际项目的名称是使用“工具”>“ ProjectName_Properties”为其赋予的名称)。
问题:
有没有一种方法可以检测到空项目 OR 否则 ,确定是否首先在受保护的/ 沙盒视图?
我不喜欢任何特定的方法,但是请假设:
编辑:
我认为这种情况会在VBA的Rubberduck插件中导致“意外错误”。打开文档时发生,但附件模板不受信任。这是涉及的所有代码(在Template中):
Private Sub Document_New()
MsgBox "new"
End Sub
Private Sub Document_Open()
MsgBox "open"
End Sub
答案 0 :(得分:0)
在受保护的视图中打开文件时,将弹出一个msgbox(向上显示XL2010)
Private Sub Workbook_Open()
If Application.ProtectedViewWindows.Count > 0 Then MsgBox "opened in a protected / sandboxed view"
End Sub