Если синхронизация является проблемой, то вы можете подождать, пока Internet Explorer не будет занят, и readystate
равно 4.
Попробуйте разместить While Ie.readyState <> 4 Or Ie.Busy: DoEvents: Wend
в разделах, где может загружаться страница.(после навигации, нажатия кнопок и т. д.).
Если все говорят, что этого недостаточно, вы всегда можете поиграть с помощью спящего API.
#If VBA7 And Win64 Then
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#Else
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If
Iбудет делать это только в том случае, если вы не можете заставить работать указанное выше ожидание.
Readystate 4 означает, что запрос был отправлен, сервер завершил возврат ответа иБраузер завершил загрузку содержимого ответа.
Занят из Документация Microsoft описывается как:
Получает значение, указывающее, является лиобъект занят навигацией или операцией загрузки.