从WebPage中的脚本创build的表中导入Excel中的数据

我正在尝试创build一个自动连接到网页的macros,并在Excel中导入表中的数据。 我的问题是Excel查询工具无法识别表格,我想是因为它是由页面中的脚本创build的,所以我不能使用标准的方式。 现在,我正在使用这种方法:

  1. 将数据复制到剪贴板
  2. 运行一个vbamacros而不是从剪贴板中获取数据并在Excel中导入它

但是,我有超过20个网页每次导入,我想要一个“独立的”macros,给定网页的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 

另一种方法是创build一个HTTP请求

 // source http://tkang.blogspot.co.at/2010/09/sending-http-post-request-with-vba.html Dim result As String Dim myURL As String Dim winHttpReq As Object Set winHttpReq = CreateObject("WinHttp.WinHttpRequest.5.1") myURL = "http://192.168.10.101:80/your_web_service?parameter=hello¶meter2=hi" winHttpReq.Open "GET", myURL, False winHttpReq.Send result = winHttpReq.responseText 

并parsing结果。 我自己虽然没有尝试过。