返回或设置一个 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。

  •