我写了一个VBScript,可以自动处理Excel工作簿的一个负载。VBScript:等待Excel MsgBox,单击确定
对于这些工作簿中的某些工作簿,当它们打开时会触发MsgBox。该消息框正在中断自动化。
有没有办法在VBScript中侦听这个MsgBox,并在弹出时单击“确定”?
我写了一个VBScript,可以自动处理Excel工作簿的一个负载。VBScript:等待Excel MsgBox,单击确定
对于这些工作簿中的某些工作簿,当它们打开时会触发MsgBox。该消息框正在中断自动化。
有没有办法在VBScript中侦听这个MsgBox,并在弹出时单击“确定”?
尝试使用此包装:
Application.DisplayAlerts = False
Application.Workbooks.Open ([your code])
Application.DisplayAlerts = True
这将抑制对开放,例如任何警告兼容性问题等
UPDATE:
如果MSGBOX从工作簿中的代码生成,尝试使用此:
Application.AutomationSecurity = msoAutomationSecurityForceDisable
如果使用后期绑定,这将工作:
Application.AutomationSecurity = 3
感谢您的回答,我没有运气 – Griffin 2013-02-21 13:34:24
@Griffin能否请您提供相关的代码?或者只是在你的书中有开启并触发msgboxes的宏? – 2013-02-21 14:03:29
@Griffin请参阅最新版本。 – 2013-02-21 14:08:40
VBScript或VBA?消息框旨在阻止并强制用户进行交互。如果你只是想要一个消息,你可能会想创建一个用户表单(vba)来允许你的脚本继续。不理我,我虽然想要消息框:D – NickSlash 2013-02-21 13:12:56
有多种选择,但对于任何生产用途,它们往往是复杂的,不合适的和/或不可靠的。如果您让我们知道您想要解决什么讯息框,那么我们可能会提供更多有用的建议。 – 2013-02-21 13:14:18
@JamesSnell消息框从表单中的VBA代码调用。 – Griffin 2013-02-21 13:33:05