2015-12-19 51 views
1

我有访问VBA脚本从一些网站拉数据。这些与Office 2013和Windows 7完美配合。但是,自升级到Windows 10以来,我一直在收到间歇性错误(不一定在具有相同数据的同一位置),或者有时数据不会从标签中提取。当我访问具有特定索引的特定标签时,也会出现这种情况。访问VBA getelementsbytagname窗口10的问题?

tempV = TDelement.getElementsByTagName("td")(0).innerText 

我使用IE作为作为创建的浏览器对象如下:

Set objIE = CreateObject("InternetExplorer.Application") 

有没有什么升级Windows可能坏了? (新手,请对任何不正确的术语表示歉意)

+0

请使用反引号来正确地格式化代码的表达。例如:'return Rx.Observable.fromPromise(jQuery.getJSON(requestUrl))'。它使您的代码更具可读性并提高了获得答案的机会 – user3743222

回答

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 
+0

非常感谢回复。我会稍后讨论结果。我使用IE对象的主要原因是避免编写代码来登录网站,因为我只能在浏览器上登录。看起来像这样的懒惰可能不是未来的选择:( – woody