Как я могу выполнить 3 строки одновременно или перейти к следующей, не дожидаясь окончания предыдущей? - PullRequest
0 голосов
/ 17 апреля 2019

У меня есть этот код, который подключается к SAP.Эти три линии связаны с кнопками для запуска в 3 разных окнах SAP.Но каждое окно занимает около 15 минут для загрузки.Мне нужно, чтобы три кнопки работали одновременно или не ожидали завершения предыдущей, чтобы можно было одновременно запустить 3 окна, а вместо 45 минут это занимает 15 минут.

Теперь попробуйте поместить три команды в одну строку, разделяя их на "," "&" ";"":" Также попробуйте вызвать 3 макроса одновременно

Кнопка 1 из окон 1

session1.findById("wnd[0]").sendVKey 8

Кнопка 2 из окон 2

session2.findById("wnd[0]").sendVKey 8

Кнопка 3Windows 3

session3.findById("wnd[0]").sendVKey 8

Первая попытка выполнить три строки одновременно, но не выполнить код

session1.findById("wnd[0]").sendVKey 8, session2.findById("wnd[0]").sendVKey 8, session3.findById("wnd[0]").sendVKey 8

1 Ответ

0 голосов
/ 17 апреля 2019

Вы не можете сделать это в VBA, так как он работает в одном потоке.Каждая команда выполняется последовательно и должна ждать завершения предыдущей.

Вы можете написать макрос для создания трех отдельных VBScripts и затем запустить эти три сценария одновременно, чтобы «имитировать» три потока.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...