excel - 打开带有宏的 Excel 工作簿时,VBA 代码死机
问题描述
运行以下代码时,excel 会提示我该文档不是来自受信任的来源,以及是否应禁用宏。这一切都很好,应该如何。单击启用宏时它可以正常工作,但是如果我单击禁用宏,则代码只会默默地死掉并且永远不会达到“成功”。当我使用GetObject()
原始代码中的内容时也会发生同样的情况。
有没有办法默认打开工作表并禁用宏,而不是提示用户?或者至少以某种方式让代码再次运行?我不需要它们运行,只需以只读方式打开工作簿就可以了。
我知道我可以在我的机器上配置信任中心,但这适用于公司范围的项目,所以这不是一个选项。
还签署代码可能有用吗?
Sub test()
Dim FileName As String
Dim test As Workbook
FileName = ".\hello.xlsm"
Set test = Workbooks.Open(FileName, , True)
MsgBox "Made it"
End Sub
解决方案
尝试这个:
Sub test()
Dim FileName As String
Dim test As Workbook
FileName = ".\hello.xlsm"
Application.AutomationSecurity = msoAutomationSecurityForceDisable
Set test = Workbooks.Open(FileName, , True)
Application.AutomationSecurity = msoAutomationSecurityByUI
MsgBox "Made it"
End Sub
推荐阅读
- typescript - TS 错误:类型“字符串”不是数组类型或字符串类型。字符串怎么不是字符串?
- python - Python:如何遍历字典列表并将每个字典作为值添加到具有唯一键的新字典中 - 不重复
- python - 如何将 numpy.ndarray 数据转换为所需的图像格式?
- javascript - 如何通过单击链接添加 Google Analitycs 事件
- javascript - 需要 Babel “7.0.0-0” 但加载了 “6.26.3”
- javascript - 如何操作像 (class1+class2) 这样的类
- c - 在没有 strlen 的情况下确定哪个 char * 最短
- reactjs - Emacs,在 React 尖括号中向前和向后
- javascript - 是否可以更改已定义的 href
- php - user_type 模型当我尝试使用它时 registerusers.php 我没有找到 Class 'app\user_type'