Открытие приложения EXE после тайм-аута с VBA - PullRequest
0 голосов
/ 13 декабря 2018

Это немного сложно объяснить, но позвольте мне попробовать.

У меня есть 6 пользовательских форм в проекте VBA.Выполнение макроса скроет каждую форму и покажет следующую в строке.В первой пользовательской форме при событии нажатия кнопки «Далее» есть некоторый код, который изменяет текущий открытый файл Excel, затем скрывает текущую пользовательскую форму, показывает следующую и открывает «saplogon.exe» через 5 секунд.

Все работает отлично, НО саплогон не открывается, пока я не закрою 6-ую пользовательскую форму.Принимая во внимание, что я хочу, чтобы он открылся во втором, где код для открытия файла находится по адресу.

Я не совсем уверен, что я делаю неправильно.Ниже приведен код, который я использую в UserForm1.

Application.ScreenUpdating = False

'My Code
UserForm2.Show

Dim sFullPathToExecutable As String

sFullPathToExecutable = "C:\Program Files(x86)\SAP\FrontEnd\SAPgui\saplogon.exe"

Application.Wait (Now + TimeValue("0:00:05"))
Shell sFullPathToExecutable

End Sub

Почему не открывается EXE-файл на UserForm2?

Спасибо!

1 Ответ

0 голосов
/ 13 декабря 2018

Если кто-то случайно окажется в подобной ситуации, когда вам придется открывать программу в фоновом режиме и показывать следующую пользовательскую форму, не теряя акцента на excel, поместите строку shell("location of the .exe") в событие активации следующей пользовательской формы: -

Private Sub UserForm_Activate()
Application.Wait (Now + TimeValue("0:00:02"))
Shell "C:\Program Files (x86)\SAP\FrontEnd\SAPgui\saplogon.exe"
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...