0

我正在尝试将以下网页中的数据提取到 excel 中。以下链接中的数据跨越 7 页(大约 3500 行)。我需要这些数据到我的 excel 工作簿中。

www.moneycontrol.com/stocks/hist_stock_result.php?ex=N&sc_id=RI&pno=1&hdn=daily&fdt=2000-01-01&todt=2013-11-01

我已经使用以下宏下载了相同的....不幸的是,由于未知原因,宏将 excel 应用程序压缩。请有人帮忙......

Private Const URL_TEMPLATE As String = "URL;http://www.moneycontrol.com/stocks/hist_stock_result.php?sc_id=RI&pno={0}&hdn=daily&fdt=2000-01-01&todt=2013-11-01"
Private Const NUMBER_OF_PAGES As Byte = 7

Sub test()
    Dim page As Byte
    Dim queryTableObject As QueryTable
    Dim url As String

    For page = 1 To NUMBER_OF_PAGES
        url = VBA.Strings.Replace(URL_TEMPLATE, "{0}", page)
        Set queryTableObject = ActiveSheet.QueryTables.Add(Connection:=url, Destination:=ThisWorkbook.Worksheets.Add.[a1])
        queryTableObject.WebSelectionType = xlSpecifiedTables
        queryTableObject.WebTables = "3"
        queryTableObject.Refresh
    Next page

End Sub
4

1 回答 1

0

我已经在我的系统上进行了测试,它工作得很好。似乎正在发生的事情是:

  1. 代码执行很快
  2. 系统读取基于 Web 的数据源 - 此步骤的速度取决于您的 Internet 连接速度

发生这种情况时,我在单元格 A1 中收到“ExternalData_1:获取数据 ...”,并且状态栏上的消息在以下之间切换:

“将 Web 数据复制到工作表”和“刷新”

在我的系统上从执行到完成从南非的 2Mbps ADSL 互联网连接所用的总时间约为 24 秒。

我正在使用 Excel 2007

于 2013-11-02T09:20:36.467 回答