Excel VBA教程:AutomationSecurity属性

返回或设置一个MsoAutomationSecurity 常量,该常量代表在程序中打开文件时 Microsoft Excel 使用的安全模式。当应用程序启动时,该属性自动地设置为msoAutomationSecurityLow。因此,为了避免破坏各种基于默认设置的解决方案,在程序中打开文件后,必须将该属性重新设置为 msoAutomationSecurityLow。而且,在程序中打开文件之前和之后,应立即设置该属性,以免他人的恶意破坏。可读写。

MsoAutomationSecurity 可为以下 MsoAutomationSecurity 常量之一。
msoAutomationSecurityByUI 使用 Security对话框中指定的安全设置。
msoAutomationSecurityForceDisable 在没有显示任何安全警告的情况下,禁用所有从程序打开的文件中的宏。
msoAutomationSecurityLow 启用所有的宏。这是启动应用程序时的默认值。

expression.AutomationSecurity

expression   必需。该表达式返回“应用于”列表中的对象之一。

说明

ScreenUpdating 设置为 False 不会影响警报,也不会影响安全警告。DisplayAlerts 的设置不应用于安全警告。例如,当用户处于中等安全级别时,如果用户将 DisplayAlerts 设置为 False 并且将 AutomationSecurity 设置为 msoAutomationSecurityByUI,那么运行宏时就会出现安全警告。当成功地打开文件后仍然显示安全警告时,就可以用宏捕获文件打开错误。

Excel VBA教程:AutomationSecurity属性·示例

本示例捕获当前的自动安全设置,更改设置以禁用宏,显示“打开”对话框,在打开选取的文档后,将自动安全模式设置回初始设置。


Sub Security()
    Dim secAutomation As MsoAutomationSecurity
    secAutomation = Application.AutomationSecurity
    Application.AutomationSecurity = msoAutomationSecurityForceDisable
    Application.FileDialog(msoFileDialogOpen).Show
    Application.AutomationSecurity = secAutomation
End Sub

上页:Excel VBA教程:AutomaticStyles属性 下页:Excel VBA教程:AutoPercentEntry属性

Excel VBA教程:AutomationSecurity属性