使用VBA获取Web表值

时间:2012-12-09 16:26:19

标签: html vba web-scraping

我在从this website提取数据时遇到问题。

我尝试使用Excel网页查询(通常与网站中的其他网页一起使用,但无法检索此特定网站的数据)。

我通过“检查网页的元素”来管理使用responsetext并操纵文本,但在这种情况下,我发现主体有“文本 - 空文本节点”,这使得实际上不可能使用文本。

1 个答案:

答案 0 :(得分:0)

我不喜欢它,但这是我能想到的最好的。将Debug.Print行更改为有用的内容。您需要设置对Microsoft Internet Controls和Microsoft HTML Object Library的引用。

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