Я запрограммировал VBA для взаимодействия с IE довольно широко и начал делать это снова, но натолкнулся на странное явление, которое я, похоже, не могу решить со всеми исследование, которое я сделал.IE Automation - Excel VBA ... Выполнение ошибок после загрузки сайта
Как только я загружаю веб-сайт, я теряю всю ссылку на InternetExplorer Application
и больше не могу работать с объектом.
Когда я проверяю на сайте будучи полностью загружен, я получил Run-Time Error 424 Object Required
, или Run-time error '-2147023179 (...)': Automation Error The interface is Unknown
Если я пройти мимо этой линии (в то время как видит сайт полностью загружен) и запустить Set doc ...
линии, я получаю Run-Time Error 462: The remote server machine does not exist or is unavailable
.
Я использую IE 11 и Excel 2010. У меня есть ссылки VBAProject на Microsoft Internet Controls и библиотеку объектов MicrosoftHTML, но ошибки также возникают при позднем связывании.
Sub LoginToFXAll()
Dim ieApp As InternetExplorer
Set ieApp = New InternetExplorer
With ieApp
.Visible = True
.Navigate "https://www.google.com/"
Do
DoEvents
Loop Until .ReadyState = READYSTATE_COMPLETE ''<- Run-Time Error 424 occurs here
Dim doc As HTMLDocument
Set doc = .Document '<- Run-Time Error 462 occurs here
doc.all("q").Value = "Scott"
End With
End Sub
У меня была проблема, как у вас, ваша сеть использует какую-то безопасность? Если это так, проблема в том, что экземпляр IE при проверке ваших «прав доступа» «уничтожен» и «перестроен», следовательно, исходный объект потерян – Sgdva
Спасибо @Sgdva - У меня есть чувство, связанное с безопасностью, t "доказать это" еще. Вы все равно можете обойти это или назначить новый объект? (Я не подозреваю). –
К сожалению, в то время я не нашел решение для этого, но теперь, когда я знаю немного больше об этом, возможно, вы можете получить расположение памяти в Internet Explorer вместо самого элемента и как-то ссылаться на него, к сожалению, я не могу проверить его на данный момент, если он будет работать, но, возможно, это будет хорошим обходным решением, проверьте мой ответ на рекомендации о том, как можно работать с [ObjPtr] (https://support.microsoft.com/ en-us/kb/199824) – Sgdva