НН
Надежда Николаева

VBA Задать ожидание открытия окна

Есть программа, которая открывает диалоговое окно чужой программы методом эмуляции клавиш. Необходимо после эмуляции как-то задать ожидание открытия этого окна, т. е что бы дальнейшая часть программы не выполнялась до тех пор, пока не запустится это окно.

Дальше по программе идет поиск хендла этого окна и строки ввода данных с дальнейшей вставкой данных.
Как я понял, программа теряется в тот момент, когда окно еще не открылось и дальнейшие действия не выполняются или выполняются частично и с десятого запуска.

Буду рад любым советам.

AppActivate("Ansoft HFSS - Project1")

Const VK_CONTROL = &H11
Const KEYEVENTF_KEYUP = &H2
Const VK_V = &H56
Const BM_CLICK = 245

SendKeys.Send("%")
SendKeys.Send("T")
SendKeys.Send("S")

'Здесь запускается дочернее окно

tWnd = FindWindow("004F07A2:#32770", vbNullString)

bWnd = FindWindowEx(tWnd, 0, "00330614:Edit", vbNullString)

PostMessage(bWnd, BM_CLICK)


Call keybd_event(VK_CONTROL, 0, 0, 0)

Call keybd_event(VK_V, 0, 0, 0)

Call keybd_event(VK_V, 0, KEYEVENTF_KEYUP, 0)

Call keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0)

ВШ
Виктория Шамрова

в самой проге останови выполнение таймером. время рассчитай пробой. если этот вариант годится. Успехов!

Похожие вопросы
помогите с формой на VBA
Windows7 - при открытии любой папки в окне проводника открывается новое окно вместо того чтобы открыться в этом окне
при открытие любой программ всплывание окно выберите программу для открытия этого файла:
подскажите, пожалуйста, как написать в vba сумму квадратов цифр заданного числа n
Программирование в VBA
как задать условие на ошибку в синтаксисе VBA
Delphi. Как узнать что окно открыто на полный экран?
VBA -программирование
Задание по VBA
как в VBA получить путь открытого документа в word