2013-09-25 174 views
3

我有一個Excel宏,在打開文件,打開另一個Excel文件,刷新數據,保存並關閉它時運行。VBA Excel宏消息框自動關閉

我也有一箇中間位(Dim AckTime),顯示第二個彈出消息以顯示它完成了什麼。

但是..由於我設置宏使用Public Sub Workbook_Open()打開工作簿時彈出消息框,但不會在1秒後自動關閉。

任何人都可以幫忙嗎?

Public Sub Workbook_Open() 

Application.ScreenUpdating = False Application.DisplayAlerts = False 
Application.AskToUpdateLinks = False 

    With Workbooks.Open("\\filename.xlsm") 
     ActiveWorkbook.RefreshAll 'updates the data 
     ActiveWorkbook.Sheets("Dashboard").Range("A2").Value = DateTime.Now 
     ' updates this cell with the current time 

     Dim AckTime As Integer, InfoBoxWebSearches As Object 
     Set InfoBoxWebSearches = CreateObject("WScript.Shell") 
     AckTime = 1 
     Select Case InfoBoxWebSearches.Popup("Updated, saving & closing...", _ 
      Case 1, -1 
     End Select 

     .Save 
     .Saved = True 'when saved.. 
     .Close 0 'close the file 

    End With 

End Sub 
+0

已經發現這個效果不錯 – Mike

+1

CreateObject(「WScript.Shell」)彈出「你的消息」,1,「消息頭」彈出,在1秒內關閉 – Mike

+0

這真的很好Mike: ) –

回答

2
Select Case InfoBoxWebSearches.Popup("Updated, saving & closing...", AckTime) 

應該是你唯一的錯誤。你只是沒有設置等待時間。