【问题标题】:Why my yahoo finance url not working for querytables.add connection from web为什么我的雅虎财务网址不适用于 querytables.add 来自网络的连接
【发布时间】:2021-01-05 21:45:05
【问题描述】:

我正在尝试创建一个可以从 yahoo Finance 检索历史股票数据的工作表。该代码在 6 或 7 个月前有效,无需 365 订阅。我发现它现在不起作用。这是我的代码:

Sub Button4_Click()
 
    Dim DataSheet As Worksheet
    Dim EndDate As Date
    Dim StartDate As Date
    Dim Symbol As String
    Dim qurl As String
    
    Dim SD As String
    Dim ED As String
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Application.Calculation = xlCalculationManual
    Set DataSheet = ActiveSheet
        StartDate = DataSheet.Range("B1").Value
        EndDate = DataSheet.Range("B2").Value
        Symbol = DataSheet.Range("B3").Value
        Range("C7").CurrentRegion.ClearContents
       
        SD = DateDiff("s", "1/1/1970", StartDate)
        ED = DateDiff("s", "1/1/1970", EndDate)
       
  
        qurl = "https://query1.finance.yahoo.com/v7/finance/download/" & Symbol & "?period1=" & SD & "&period2=" & ED & "&interval=1d&events=history&includeAdjustedClose=true"
           With DataSheet.QueryTables.Add(Connection:="URL;" & qurl, Destination:=DataSheet.Range("C7"))
               .BackgroundQuery = True
               .TablesOnlyFromHTML = False
               .Refresh BackgroundQuery:=False
               .SaveData = True
           End With
           
           Range("C7").CurrentRegion.TextToColumns Destination:=Range("C7"), DataType:=xlDelimited, _
               TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
               Semicolon:=False, Comma:=True, Space:=False, other:=False
           Range(Range("C7"), Range("C7").End(xlDown)).NumberFormat = "mmm d/yy"
           Range(Range("D7"), Range("G7").End(xlDown)).NumberFormat = "0.00"
           Range(Range("H7"), Range("H7").End(xlDown)).NumberFormat = "0.00"
           Range(Range("I7"), Range("I7").End(xlDown)).NumberFormat = "0,000"
           
           'Worksheets("Grab data").Range("C7:xlDown").Select
           Application.Calculation = xlCalculationAutomatic

End Sub

错误一直显示为:

无法打开网址。并且互联网无法返回您请求的对象。

非常感谢您的帮助!

【问题讨论】:

  • 雅虎关闭那里的免费金融服务。
  • 确实,该 URL 现在返回一个 HTTP 401

标签: excel vba yahoo-finance


【解决方案1】:

发现此代码适用于 mac(没有 365 订阅)但不适用于 wendows。订阅了 365 的 Windows 只需使用网络查询即可快速获取。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-15
    • 1970-01-01
    • 2015-07-11
    相关资源
    最近更新 更多