2012-12-31 467 views
2

我使用VBScript在excel上編寫一些自動化代碼。我在代碼中有MsgBox(),並且正在尋找一種方法來自動關閉由MsgBox()創建的彈出窗口,無需人工干預。程序執行將從那裏繼續。在vbscript中自動關閉MsgBox?

+0

你有沒有改變你的名字Tukai?我的天啊!那麼你需要做什麼! ;)它被稱爲** MSGBOX定時器,它在空閒後被觸發.... ** – bonCodigo

+0

@bonCodigo但是怎麼做呢? –

+0

這裏有一個非常類似的問題,我昨天回答http://stackoverflow.com/questions/14095982/side-step-application-msgbox-in-vba-excel/14096445#14096445 –

回答

2

我的評論爲您提供了搜索和找出可行答案的提示。但爲了節省您的時間,這裏有一些見解。

  • 此帖子顯示了您可能會如何manupulate MSGBOX in VB

  • 以下是任何人都可以想到的VBA方式。

    1. 創建一個表單
    2. 使用它作爲一個MsgBox
    3. 添加一個計時器
    4. 鑑於經過時間(閒置)關閉表單。

-

  • 另一種方法Reference。這使用一個Pop-Up框作爲MSGBOX。

代碼:

Sub Test1() 
Dim AckTime As Integer, InfoBox As Object 

Set InfoBox = CreateObject("WScript.Shell") 
AckTime = 3 
Select Case InfoBox.Popup("Click OK or do nothing within 3 seconds.", _ 
AckTime, "This is your Message Box", 0) 

Case 1, -1 
    Exit Sub 
End Select 
End Sub 
+0

任何其他方式來關閉生成的彈出窗口'MsgBox'? –

+1

@Tukai檢查更新後的答案。因爲你正在使用VBScript,所以對你來說似乎相當不錯。請嘗試並發表評論。 – bonCodigo

+0

是的,我正在嘗試,但同時你能說'0'在這裏做什麼? –

4

純的VBScript溶液是the .PopUp method

+0

+1,絕對理想。出於同樣的原因,我之前使用過VBA。 –

+0

@Ekkehard你像往常一樣gr8! –

+0

@Ekkehard我可以在這裏得到一些幫助 - http://stackoverflow.com/questions/14087681/merger-concatenate-employee-rows-depending-on-their-managers? –