У меня есть базовый c VBA-скрипт, который открывает окно InternetExplorer, чтобы пользователь мог авторизовать соединение OAuth2.0. В рамках этого процесса их браузер перенаправляется на адрес обратного вызова, содержащий маркер доступа. В настоящее время URL-адрес перенаправления установлен на http://localhost.
. Сценарий правильно работает на Windows 10 с MS Access 2010 и Inte rnet Explorer 11. Однако в MS Access 2016 на другой Win 10 P C, я получаю сообщение об ошибке -2147023179 Automation error The interface is unknown.
. Я подтвердил, что URL-адрес перенаправления является правильным, и я также жестко запрограммировал разрешаемый URL-адрес перенаправления, который также работает.
Похоже, что когда InternetExplorer обнаруживает неразрешимый URL-адрес, он разрывает соединение VBA с экземпляром IE. Я ищу информацию, которая поможет мне обойти эту проблему.
Код, который я использую ниже:
Dim IE as InternetExplorer
' create IE instance
Set IE = CreateObject("InternetExplorer.Application")
Dim url as String: url = "www.some-website.com"
' show IE
IE.Visible = True
' navigate to OAuth authorize URl
IE.Navigate url
' wait for page to load
Do While IE.ReadyState = 4: DoEvents: Loop
' loop until callback url in address bar
' ERROR HAPPENS HERE
While InStr(1, IE.LocationURL, "http://localhost") <= 0
DoEvents
Wend