我正在尝试创建一个自动连接到网页并从表格中导入 excel 数据的宏。我的问题是 Excel 查询工具无法识别表格,我想是因为它是由页面中的脚本创建的,所以我无法使用标准方式。 现在,我正在使用这种方法:
- 将数据复制到剪贴板
- 运行一个 vba 宏,然后从剪贴板获取数据并将其导入 Excel
但是,我每次要导入 20 多个网页,我想要一个“独立”宏,它可以根据页面的 url 导入 excel 中的数据。
我感兴趣的网页是: http://www.investing.com/indices/us-30-historical-data 我正在使用 excel 2010
谁能帮帮我?
最佳答案
试试这个
Sub Dow_HistoricalData()
Dim xmlHttp As Object
Dim TR_col As Object, TR As Object
Dim TD_col As Object, TD As Object
Dim row As Long, col As Long
Set xmlHttp = CreateObject("MSXML2.XMLHTTP.6.0")
xmlHttp.Open "GET", "http://www.investing.com/indices/us-30-historical-data", False
xmlHttp.setRequestHeader "Content-Type", "text/xml"
xmlHttp.send
Dim html As Object
Set html = CreateObject("htmlfile")
html.body.innerHTML = xmlHttp.ResponseText
Dim tbl As Object
Set tbl = html.getElementById("curr_table")
row = 1
col = 1
Set TR_col = html.getelementsbytagname("TR")
For Each TR In TR_col
Set TD_col = TR.getelementsbytagname("TD")
For Each TD In TD_col
Cells(row, col) = TD.innerText
col = col + 1
Next
col = 1
row = row + 1
Next
End Sub
关于javascript - 从网页中的脚本创建的表中导入 Excel 中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21039677/