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