2012-12-09 21 views
-1

我在從this website提取數據時遇到問題。使用VBA獲取Web表值

我嘗試使用Excel Web查詢(通常與網站中的其他頁面一起工作,但無法檢索此特定網站的數據)。

我通過「檢查網頁的元素」來管理,使用responsetext並操作文本,但在這種情況下,我發現文本具有「Text - Empty Text Node」,這使得文本無法使用。

+1

您提供的鏈接無效。你想要提取什麼樣的數據? –

+0

嗨@I'O'Brien,鏈接不能使用谷歌瀏覽器,但它可以在Internet瀏覽器中正常工作。 – user1889664

+0

@ IanO'Brien我是新來這個論壇這裏的網站[bmreports](http://www.bmreports.com/bsp/BMRSSystemData.php?pT=DDAD&zT=N&dT=NRT/)我不確定我是否可以在這種數據中使用VBA中的HTML,問題是[bmrport.com]中的某個頁面格式良好,有些像(http://www.bmreports.com/bsp/BMRSSystemData.php?pT=DDAD&zT=N&dT = NRT /)是相當複雜的處理。下面的HTML代碼的樣本我想獲得從信息: DATE S/P 由於 – user1889664

回答

0

我不喜歡它,但它是我能想到的最好的。將Debug.Print行更改爲有用的東西。您需要設置對Microsoft Internet控件和Microsoft HTML對象庫的引用。

Public Sub GetReports() 

    Dim ie As InternetExplorer 
    Dim hDoc As MSHTML.HTMLDocument 
    Dim hTbl As MSHTML.HTMLTable 

    Set ie = New InternetExplorer 
    ie.Navigate2 "http://www.bmreports.com/bsp/BMRSSystemData.php?pT=DDAD&zT=N&dT=NRT" 

    Do 
     DoEvents 
    Loop Until ie.readyState = READYSTATE_COMPLETE 

    Set hDoc = ie.document 

    Set hTbl = hDoc.getElementsByClassName("tablesorter").Item(0) 

    Debug.Print hTbl.innerText 

    ie.Quit 

End Sub 
+0

這不是完美的,但它是一個很好的起點。你有沒有想法如何按下CSV底部並保存CSV文件? – user1889664

+0

感謝您的回覆 – user1889664