2015-12-19 70 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