2013-02-21 62 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