从不受信任的来源打开Excel文件时,系统会询问我是否要"启用编辑":
但是,当我点击该按钮时,在包含OnTime
的Excel文件 - Workbook_Open
- 事件中的日程安排中,我收到一条错误消息并且宏中止:
调用宏的代码位于ThisWorkbook
- 对象中,如下所示:
Private Sub Workbook_Open()
Call Tempo
End Sub
虽然宏本身位于常规模块中,但看起来像这样:
选项明确
Public VARTIMER As Variant
Const TimeOut As Long = 30 'in minutes
Sub Salva()
ActiveWorkbook.Save
Call Tempo
End Sub
Sub Tempo()
VARTIMER = Format(Now + TimeSerial(0, TimeOut, 0), "hh:mm:ss")
If VARTIMER = "" Then Exit Sub
Application.OnTime TimeValue(VARTIMER), "Salva"
End Sub
只要文件没有在受保护的视图中打开,一切正常,但是当它出现时,我得到上面显示的错误。
任何人都可以告诉我一种方法来避免出现错误显示出现/中止代码吗?
由于公司政策/许多用户,因此无法将所有网站标记为受信任位置。
答案 0 :(得分:0)
解决方案方法说明:
问题依赖于,为了运行宏,Excel实例需要权限 - 尚未被授予 - 。此外,分析从服务器检出的文件时可能存在错误(例如,一个SharePoint文件)。
的 解决方案: 强>
在Workbook_Open活动中,您可以尝试以下内容:
Private Sub Workbook_Open()
On Error Resume Next
If ActiveWorkbook.ReadOnly = False And Application.ProtectedViewWindows.count < 0 Then Call Tempo
End Sub
可以在this question或here中查阅更多信息。
** PS:请注意,如果未授予权限,则无法运行宏。