雅虎历史报价在Excel中 - 继续

时间:2017-05-27 23:30:35

标签: excel vba excel-vba yahoo-api yahoo-finance

我看到雅虎博客上的说明声明他们已经停止支持iChart,我看到这个答案Yahoo Finance Historical data downloader url is not working讨论了历史数据的新请求格式。

以下是我用来下载历史数据的原始代码片段(它是在每个股票代码的电子表格中创建标签的循环的一部分)

With Sheets(SheetName).QueryTables.Add(Connection:="URL;http://ichart.finance.yahoo.com/table.csv?s=" & yahoosymbols & "&a=09&b=29&c=1984&d=04&e=12&f=2020&g=w&ignore=.csv", Destination:=DestinationRange)
        .BackgroundQuery = True
        .TablesOnlyFromHTML = True
        .Refresh BackgroundQuery:=False
        .SaveData = False
        .FieldNames = False
    End With

以下是使用新版本网址的新代码

With Sheets(SheetName).QueryTables.Add(Connection:="URL;http://query1.finance.yahoo.com/v7/finance/download/" & yahoosymbols & "?period1=947570400&period2=1577858400&interval=1wk&events=history&crumb=RhdXrQKrUXZ", Destination:=DestinationRange)
        .BackgroundQuery = True
        .TablesOnlyFromHTML = True
        .Refresh BackgroundQuery:=False
        .SaveData = False
        .FieldNames = False
    End With

如果我复制并粘贴网址(为yahoosymbols变量添加股票代码),那么它在浏览器中工作正常。

但是当我运行此代码时,我得到一个excel 1004错误并说它无法打开该网址

有什么想法?我不是VBA的家伙,所以可能会犯一个真正的业余错误。谢谢

1 个答案:

答案 0 :(得分:0)

您使用的网址不再有效。 但是,由于您不是vba专家,并且您只需要Excel中的YF数据,为什么不使用Deriscope Excel插件? 免责声明:我是Deriscope的作者。