【发布时间】:2013-12-17 19:04:09
【问题描述】:
我正在使用调用 Internet Explorer 的 Excel 工作簿并将工作簿用户定向到登录页面,以便对其进行验证,然后从我们的服务器检索数据。我发现如果用户在 IE 中启用了“保护模式”(Internet 选项 --> 安全),他们通常会在输入用户名和密码后“卡住”在登录页面上。禁用“保护模式”时,没有问题。
我正在尝试创建一个宏,该宏将检测他们的 IE 设置并在保护模式启用时通知用户(如果可能,可能会使用 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 实际返回的是什么数据类型(因此是变体),并且我不知道传递什么作为参数。此外,如果这完全是错误的做法,我愿意采取新的行动。
InternetExplorer 对象的 GetProperty 方法上的 MSDN article 没有多大帮助。
值得一提的是,我对 Microsoft Internet Controls 和 InternetExplorer 对象还很陌生,这是我第一次使用它。
感谢您的时间和考虑!
【问题讨论】:
-
作为一种解决方法,您可以将该网站添加到 IE 中的受信任站点列表中。我认为这将禁用该网站的保护模式。
-
我认为为了做到这一点,我必须修改用户的注册表,这不是一个真正可行的选择。我也愿意接受这是一项不可能完成的任务(考虑到我的限制),只是想获得专家的建议。
标签: internet-explorer vba excel