返回或设置一个 MsoAutomationSecurity 常量,该常量代表在程序中打开文件时 Microsoft Excel 使用的安全模式。当应用程序启动时,该属性自动地设置为 msoAutomationSecurityLow。因此,为了避免破坏各种基于默认设置的解决方案,在程序中打开文件后,必须将该属性重新设置为 msoAutomationSecurityLow。而且,在程序中打开文件之前和之后,应立即设置该属性,以免他人的恶意破坏。可读写。
MsoAutomationSecurity 可为以下 MsoAutomationSecurity 常量之一。 |
msoAutomationSecurityByUI 使用 Security 对话框中指定的安全设置。 |
msoAutomationSecurityForceDisable 在没有显示任何安全警告的情况下,禁用所有从程序打开的文件中的宏。 |
msoAutomationSecurityLow 启用所有的宏。这是启动应用程序时的默认值。 |
expression.AutomationSecurity
expression 必需。该表达式返回“应用于”列表中的对象之一。
将 ScreenUpdating 设置为 False 不会影响警报,也不会影响安全警告。DisplayAlerts 的设置不应用于安全警告。例如,当用户处于中等安全级别时,如果用户将 DisplayAlerts 设置为 False 并且将 AutomationSecurity 设置为 msoAutomationSecurityByUI,那么运行宏时就会出现安全警告。当成功地打开文件后仍然显示安全警告时,就可以用宏捕获文件打开错误。
本示例捕获当前的自动安全设置,更改设置以禁用宏,显示“打开”对话框,在打开选取的文档后,将自动安全模式设置回初始设置。
Sub Security()
Dim secAutomation As MsoAutomationSecurity
secAutomation = Application.AutomationSecurity
Application.AutomationSecurity = msoAutomationSecurityForceDisable
Application.FileDialog(msoFileDialogOpen).Show
Application.AutomationSecurity = secAutomation
End Sub