2013-09-25 137 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) 

应该是你唯一的错误。你只是没有设置等待时间。