Application.AutomationSecurity 属性 (Excel)

返回或设置一个 MsoAutomationSecurity 常量,该常量代表 Microsoft Excel 在以编程方式打开文件时使用的安全模式。 读/写。

语法

表达式AutomationSecurity

expression:表示 Application 对象的变量。

备注

当应用程序启动时,此属性将自动设置为 msoAutomationSecurityLow 。 因此,为了避免破坏依赖于默认设置的解决方案,您应该注意,此属性重置为 msoAutomationSecurityLow 在以编程方式打开文件后。 另外,在以编程方式打开文件前后,还应该立即对本属性进行设置,以避免恶意破坏。

MsoAutomationSecurity 可以是其中一个 MsoAutomationSecurity 常量:

  • msoAutomationSecurityByUI。 使用“安全性”对话框中指定的安全设置。

  • msoAutomationSecurityForceDisable。 禁用以编程方式打开的所有文件中的所有宏,而不显示任何安全警告。

    注意

    该设置不禁用 Microsoft Excel 4.0 宏。 如果以编程方式打开包含 Microsoft Excel 4.0 宏的文件,系统将提示用户决定是否打开该文件。

  • msoAutomationSecurityLow。 启用所有的宏。 此为启动应用程序时的默认值。

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

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。