Vba excel中的XMLHTTP数据提取-无法提取正确的数据

Vba excel中的XMLHTTP数据提取-无法提取正确的数据,vba,excel,xmlhttprequest,getelementsbyclassname,data-extraction,Vba,Excel,Xmlhttprequest,Getelementsbyclassname,Data Extraction,我的VBA知识是有限的,我正在努力学习,但我坚持下面的代码。我的问题是,我正在尝试提取此网页上包含在表类“Standard_tabelle”中的结果表 但下面的代码一直给我一个运行时错误,当我调试时,它指向: Set tr_coll = tbl(0).getelementsbytagname("TR") 是否有人可以帮助我更正此代码以提取表,或向我展示另一个有助于此的代码 非常感谢。 Shahid我想可能htmlfile不支持getElementsByclassname 试试这个办法 Sub

我的VBA知识是有限的,我正在努力学习,但我坚持下面的代码。我的问题是,我正在尝试提取此网页上包含在表类“Standard_tabelle”中的结果表

但下面的代码一直给我一个运行时错误,当我调试时,它指向:

Set tr_coll = tbl(0).getelementsbytagname("TR")
是否有人可以帮助我更正此代码以提取表,或向我展示另一个有助于此的代码

非常感谢。
Shahid

我想可能
htmlfile
不支持
getElementsByclassname

试试这个办法

Sub seasonres()

    Dim url As String, links_count As Integer
    Dim i As Integer, j As Integer, row As Integer
    Dim XMLHTTP As Object, html As Object
    Dim tr_coll As Object, tr As Object
    Dim td_coll As Object, td As Object, tbl, td_col, objT

    url = "http://www.worldfootball.net/teams/manchester-united/2011/3/"

    Set XMLHTTP = CreateObject("MSXML2.XMLHTTP")
    XMLHTTP.Open "GET", url, False
    XMLHTTP.send

    Set html = CreateObject("htmlfile")
    html.body.innerHTML = XMLHTTP.ResponseText

    Set tbl = html.body.getelementsbytagname("table")

    For Each t In tbl
        If t.classname = "standard_tabelle" Then
            For Each tr In t.getelementsbytagname("TR")
                j = 1
                For Each td In tr.getelementsbytagname("TD")
                    Cells(row + 1, j).Value = td.innerText
                    j = j + 1
                Next
                row = row + 1
            Next
            row = row + 3
        End If
    Next


End Sub

Set tbl=html.getelementsbyclassname(“Standard_tabelle”)
@TimWilliams-感谢您的明显更改。我试过了,但它给我一个运行时错误'438'“对象不支持此属性或方法”。我不确定它是否在说xmlhttprequest不能使用getelementsbyclassname?@TimWilliams-perfect,这非常有效!!谢谢!
Sub seasonres()

    Dim url As String, links_count As Integer
    Dim i As Integer, j As Integer, row As Integer
    Dim XMLHTTP As Object, html As Object
    Dim tr_coll As Object, tr As Object
    Dim td_coll As Object, td As Object, tbl, td_col, objT

    url = "http://www.worldfootball.net/teams/manchester-united/2011/3/"

    Set XMLHTTP = CreateObject("MSXML2.XMLHTTP")
    XMLHTTP.Open "GET", url, False
    XMLHTTP.send

    Set html = CreateObject("htmlfile")
    html.body.innerHTML = XMLHTTP.ResponseText

    Set tbl = html.body.getelementsbytagname("table")

    For Each t In tbl
        If t.classname = "standard_tabelle" Then
            For Each tr In t.getelementsbytagname("TR")
                j = 1
                For Each td In tr.getelementsbytagname("TD")
                    Cells(row + 1, j).Value = td.innerText
                    j = j + 1
                Next
                row = row + 1
            Next
            row = row + 3
        End If
    Next


End Sub