我正在尝试用HTML来刮取和重新格式化一些数据。这是我以前做过的,没有什么问题,但我遇到了一个错误。
标记“.net”只是因为错误消息和解决方案有很多重叠。
产生它的最简单情况是:
Sub main()
Dim ie As InternetExplorer
Dim htmlDoc As HTMLDocument
Set ie = New InternetExplorer
ie.Visible = True
' Unfortunately I'm not able to post the true link.
' But it is on github in case that's relevant.
ie.navigate "https://pages.github.XXXX.net/XXXXX/XXX-XXXXXX/dev/XXXXXX/data/full/XXXXXX.html"
Do While ie.Busy
DoEvents
Loop
Set htmlDoc = ie.document
End Sub
这将返回“运行时错误”-2147467259(80004005)“:自动化错误。未指定的错误”。此错误出现在“set htmldoc=ie.document”行中。当我将等待条件设置为“do while ie.busy or ie.readystate<gt;readystate complete”时,也会发生这种情况。
但是,使用任何旧链接都是有效的。
Sub main()
Dim ie As InternetExplorer
Dim htmlDoc As HTMLDocument
Set ie = New InternetExplorer
ie.Visible = True
' Unfortunately I'm not able to post the true link.
' But it is on github in case that's relevant.
ie.navigate "https://stackoverflow.com/"
Do While ie.Busy
DoEvents
Loop
Set htmlDoc = ie.document
End Sub
当我指出Github实例的readyState时,它会显示“0”,如果这是信息性的话。从我读到的其他问题来看,问题似乎在于InternetExplorer对象已经关闭,但我不确定是如何发生的。
对于这个问题,建议在其他地方“清理”这个项目(去掉所有代码,保存,放回原处),但这对我来说不起作用。
有什么想法吗?