我寫了一個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