我有Access VBA脚本从许多网站提取数据。这些与Office 2013和Windows 7完美配合。但是,由于升级到Windows 10,我遇到了间歇性错误(不一定在同一个地方使用相同的数据),或者有时数据没有从标签中提取。当我访问具有特定索引的特定标记时,似乎也会出现这种情况,例如
tempV = TDelement.getElementsByTagName("td")(0).innerText
我正在使用IE作为浏览器对象创建如下:
Set objIE = CreateObject("InternetExplorer.Application")
升级Windows有什么破坏的吗? (新手,对任何不正确的术语表示歉意)
答案 0 :(得分:2)
考虑将MSXML的IXMLHTTPRequest对象用于Web服务器请求。 IE不再是Windows上的专用浏览器,因此可能无法完全支持Windows 10的自动化。
Dim Req As Object, xmlobj As Object
Dim strWeb As String, myFile As String
' READ HTML PAGE
Set Req = CreateObject("MSXML2.XMLHTTP")
Req.Open "GET", "http://www.example.coms/", False
Req.send
' HTML/TEXT
strWeb = Req.responseText
myFile = "C:\Path\To\File.txt"
Open myFile For Output As #1
Write #1, strWeb
Close #1
' XML
Set xmlObj = CreateObject("MSXML2.DOMDocument")
myFile = "C:\Path\To\File.xml"
xmlObj.LoadXML Req.responseText
xmlObj.Save myFile
Set Req = Nothing
Set xmlObj = Nothing