我试图用VBA&提取数据,徒劳无功。 XML,来自爱尔兰中央银行网站(Central Bank Website)的多页表格。我已成功使用IE提取此内容。但是,我偶然发现了使用XML提取网页表的代码,并且可以看到使用此方法的好处,即它更快。
我的问题是,我可以使用XML方法从多页表中提取数据,还是仅限于自动化IE来完成此操作。
我使用的XML代码如下:
Sub Web_Table_Option_One()
Dim xml As Object
Dim html As Object
Dim objTable As Object
Dim result As String
Dim lRow As Long
Dim lngTable As Long
Dim lngRow As Long
Dim lngCol As Long
Dim ActRw As Long
Set xml = CreateObject("MSXML2.XMLHTTP.6.0")
With xml
.Open "GET", "http://registers.centralbank.ie/FundSearchResultsPage.aspx?searchEntity=FundServiceProvider&searchType=Name&searchText=®isters=6%2c29%2c44%2c45", False
.send
End With
result = xml.responseText
Set html = CreateObject("htmlfile")
html.body.innerHTML = result
Set objTable = html.getElementsByTagName("table")
For lngTable = 0 To objTable.Length - 1
For lngRow = 0 To objTable(lngTable).Rows.Length - 1
For lngCol = 0 To objTable(lngTable).Rows(lngRow).Cells.Length - 1
ThisWorkbook.Sheets("Sheet2").Cells(ActRw + lngRow + 1, lngCol + 1) = objTable(lngTable).Rows(lngRow).Cells(lngCol).innerText
Next lngCol
Next lngRow
ActRw = ActRw + objTable(lngTable).Rows.Length + 1
Next lngTable
End Sub
此代码将在加载的网页的第一页上提取数据,但我无法弄清楚如何提取剩余部分(共57页)。网址不会改变,因此不像递增页码那么容易。
我没有很多从网络表中提取数据的经验,所以我很感激这里有任何帮助。
谢谢, 艾伦
注意:这已经过帐到MrExcel