我正在尝试使用 VBA 从本地访问数据库自动输入 Web 数据。
导航到网站后,登录页面将重定向到主菜单。但是 IE 对象的文档属性不返回任何内容。
Dim htmlDoc As MSHTML.HTMLDocument
Set IE = CreateObject("InternetExplorer.Application")
IE.navigate "http://some.website.com.au/"
IE.Visible = True
With IE
Do Until .ReadyState = 4
Loop
End with
htmlDoc = IE.Document
' At this point VBA fails as the IE.Document property is empty
....
我怀疑问题在于导航到网站后,登录页面是一个检查 cookie 并重定向的登录页面。如果我禁用 cookie 并使用代码登录它可以工作,但在登录页面之后问题是一样的。
我发现的唯一可靠信息是,在 HTML 组件的情况下,DHTML 页面不会附加文档。这似乎有点奇怪,因为 IE 实例中显然有一个文档。
我无法找到记录此问题的其他任何地方,因此如果您遇到这种情况或者如果您对 MSHTML 类有更好的了解以了解为什么会出现这种情况,我们将不胜感激任何帮助或指导。
干杯,
将要