Я работаю в книге Excel, которая вызывает Internet Explorer и направляет пользователя книги на страницу входа в систему, чтобы проверить их и затем извлечь данные с нашего сервера. Я обнаружил, что если в IE активированы «Защищенный режим» («Свойства обозревателя -> Безопасность»), они часто будут «застревать» на странице входа в систему после ввода их имени пользователя и пароля. Когда «Защищенный режим» отключен, проблем нет.Получение или настройка параметров обозревателя Internet Explorer с помощью VBA
Я пытаюсь создать макрос, который обнаружит их настройки IE и уведомит пользователя, если включен защищенный режим (и, возможно, измените этот параметр с помощью VBA с помощью метода PutProperty
). В настоящее время я работаю с ссылкой на Microsoft Internet Controls. Маршрут, который я попытался, ниже (в рамках подпрограммы, конечно).
Dim objBrowser As InternetExplorer
Dim vProtected As Variant
Set objBrowser = New InternetExplorer
'Opens IE and navigates to log-in page
'The code here works as expected
'No idea what to put in for arguments in GetProperty
vProtected = objBrowser.GetProperty("?")
Я не уверен, какой тип данных GetProperty
фактически возвращает (отсюда вариант), и я не знаю, что передать в нем аргументы. Кроме того, если это не совсем так, я полностью готов к новому курсу действий.
MSDN article в методе GetProperty объекта InternetExplorer был менее полезным.
Стоит отметить, что я совершенно новый для Microsoft Internet Controls и объекта InternetExplorer, это первый раз, когда я работал с ним.
Спасибо за ваше время и внимание!
В качестве обходного пути вы можете добавить сайт в список надежных сайтов в IE. Я думаю, что это отключит защищенный режим для этого веб-сайта. – Sam
Я думаю, что для этого мне придется изменить реестр пользователей, что на самом деле не является жизнеспособным вариантом. Я открыт для представления о том, что это невыполнимая задача (учитывая мои ограничения), просто хотел получить совет эксперта. – Soulfire