В дополнение к ответу QHarr, ваш Do While...Loop
не совсем прав.
- Вы должны сделать что-то в цикле, иначе вы просто увеличите нагрузку на процессор.Вы должны хотя бы добавить
DoEvents
между ними, чтобы окна могли обрабатывать другие программы / сообщения. - Не похоже, что вы ожидаете завершения загрузки страницы.Попробуйте добавить
Or ReadyState < READYSTATE_COMPLETE
к условию цикла.
Соединив его, цикл должен выглядеть следующим образом:
Do While IE.Busy Or IE.ReadyState < READYSTATE_COMPLETE ' = 4
DoEvents
Loop
Вот некоторые другие ссылки, которые могут помочь:
Отказоустойчивость Подождите, пока IE загрузится
Как дождаться загрузки страницы после нажатия