2013-02-21 64 views
1

我写了一个VBScript,可以自动处理Excel工作簿的一个负载。VBScript:等待Excel MsgBox,单击确定

对于这些工作簿中的某些工作簿,当它们打开时会触发MsgBox。该消息框正在中断自动化。

有没有办法在VBScript中侦听这个MsgBox,并在弹出时单击“确定”?

+0

VBScript或VBA?消息框旨在阻止并强制用户进行交互。如果你只是想要一个消息,你可能会想创建一个用户表单(vba)来允许你的脚本继续。不理我,我虽然想要消息框:D – NickSlash 2013-02-21 13:12:56

+0

有多种选择,但对于任何生产用途,它们往往是复杂的,不合适的和/或不可靠的。如果您让我们知道您想要解决什么讯息框,那么我们可能会提供更多有用的建议。 – 2013-02-21 13:14:18

+0

@JamesSnell消息框从表单中的VBA代码调用。 – Griffin 2013-02-21 13:33:05

回答

3

尝试使用此包装:

Application.DisplayAlerts = False 
Application.Workbooks.Open ([your code]) 
Application.DisplayAlerts = True 

这将抑制对开放,例如任何警告兼容性问题等

UPDATE:

如果MSGBOX从工作簿中的代码生成,尝试使用此:

Application.AutomationSecurity = msoAutomationSecurityForceDisable 

如果使用后期绑定,这将工作:

Application.AutomationSecurity = 3 

了解更多:http://support.microsoft.com/kb/886633

+0

感谢您的回答,我没有运气 – Griffin 2013-02-21 13:34:24

+0

@Griffin能否请您提供相关的代码?或者只是在你的书中有开启并触发msgboxes的宏? – 2013-02-21 14:03:29

+0

@Griffin请参阅最新版本。 – 2013-02-21 14:08:40