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