Страницы: 1
RSS
Как сделать чтобы в макросе обновление выполнялось после завершения программы, Как сделать чтобы в макросе обновление выполнялось после завершения программы
 
Здравствуйте. Как сделать чтобы в макросе обновление выполнялось после завершения программы
Код
Sub Обновить()
    vb = Shell("C:\Users\Clevo\Documents\123.exe", 1)
    ActiveWorkbook.RefreshAll
End Sub
 
mayer4, так код смотрится лучше?
 
Спасибо за корректировку. Так действительно лучше смотрится. )))
 
Следующая функция ожидает завершение программы и  выдает ее код возврата.
Код
' Запуск внешних программ в синхронном режиме
Function RunPgm(ByVal pgm)
    Dim wshShell
    Set wshShell = CreateObject("WScript.Shell")
    RunPgm = wshShell.Run("%comspec% /c " & pgm, 0, True)
    Set wshShell = Nothing
End Function

Sub test()
  Debug.Print RunPgm("dir c:\temp >C:\temp\tmp")
End Sub
Изменено: sokol92 - 31.05.2019 13:02:32 (Изменил пример применения)
Владимир
 
Спасибо за помощь, но только я не совсем разбираюсь как мне изменить свой макрос чтобы он  работал как нужно.  
Изменено: mayer4 - 31.05.2019 13:19:04
 
Перенесите в стандартный модуль функцию RunPgm. Заменить строку 2 в #1 на:
Код
RunPgm "C:\Users\Clevo\Documents\123.exe"
Владимир
 
Теперь все отлично работает. Спасибо!!!
 
Успехов!
Владимир
Страницы: 1
Наверх