【发布时间】:2016-04-01 18:09:09
【问题描述】:
我的 VBA 知识有限,我正在努力学习,但我被下面的代码卡住了。我的问题是我正在尝试在此网页上提取包含在表类“Standard_tabelle”中的结果表。
Sub seasonres()
Sheets("Vs").Select
Range("A1").Select
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
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.getelementsbytagname("Standard_tabelle")
Set tr_coll = tbl(0).getelementsbytagname("TR")
For Each tr In tr_coll
j = 1
Set td_col = tr.getelementsbytagname("TD")
For Each td In td_col
Cells(row + 1, j).Value = td.innerText
j = j + 1
Next
row = row + 1
Next
End Sub
但是下面的代码一直给我一个运行时错误,当我调试它时它指向:
Set tr_coll = tbl(0).getelementsbytagname("TR")
是否有人可以帮助我更正此代码以提取表格或向我展示其他有助于解决此问题的代码?
提前非常感谢。 沙希德
【问题讨论】:
-
Set tbl = html.getelementsbyclassname("Standard_tabelle") -
@TimWilliams - 感谢您做出明显的改变。我试过了,但它给了我一个运行时错误'438'“对象不支持这个属性或方法”。我不确定是不是说 xmlhttprequest 不能使用 getelementsbyclassname?
-
@TimWilliams - 完美,效果很好!!非常感谢!
标签: vba excel xmlhttprequest getelementsbyclassname data-extraction