2013-09-25 4 views
3

У меня есть макрос Excel, который запускается при открытии файла, открывает еще один файл excel, обновляет данные, сохраняет и затем закрывает его.VBA Excel макрос окно сообщения auto close

У меня также есть средний бит (Dim AckTime), который отображает всплывающее сообщение для второго, чтобы показать, что он сделал.

BUT .. Так как я установил макрос для запуска при открытии книги с помощью 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

Это было действительно приятно Майк:) –

ответ

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

Должен быть вашей единственной ошибкой. Вы просто не задали время ожидания.

Смежные вопросы