gpt4 book ai didi

excel - 从网站下载文件

转载 作者:行者123 更新时间:2023-12-04 21:55:47 27 4
gpt4 key购买 nike

我在 Mac 上使用 Excel 2011,这意味着我无法(或至少我不知道如何)导航到网页并将下载链接中的数据保存到 Excel 工作簿中。
在这个网站上,

https://finance.yahoo.com/quote/SPY/history?period1=1342681200&period2=1500447600&interval=1d&filter=history&frequency=1d

  Sub Test()

Dim ws As Worksheet
Dim qr As QueryTable
Dim URL As String


Set ws = Worksheets("Sheet1")

Sheets("Sheet1").Cells.Clear
URL = "https://finance.yahoo.com/quote/SPY/history?period1=1342681200&period2=1500447600&interval=1d&filter=history&frequency=1d"

Set qr = ws.QueryTables.Add( _
Connection:="URL;" & URL, _
Destination:=Range("A1"))
qr.RefreshStyle = xlOverwriteCells = True
qr.BackgroundQuery = True
qr.SaveData = True
qr.Refresh BackgroundQuery = False


End Sub

有一个“下载数据”按钮。我正在尝试将这些数据放入 Excel 中,这样我就可以计算 5 年的标准偏差。谢谢!!

我遇到的一个问题是您必须向下滚动才能查看所有日期,因此当我将数据输入到查询表中时,它只会从最初显示的日期中提取数据。

最佳答案

我使用了@ryguy72 发布的一些代码,部分来自Open CSV file with correct data format for each column using TextFileColumnDataTypes?
得到这个最小的代码作为测试。

它可以在 Windows 上工作,也许它可以在 Mac 上工作(在 currentsheet 上创建一个表格并用程序中 url 的股票数据填充它)

我认为,并非 With block 中的所有参数都是必需的,但是您可以通过注释掉一些并运行代码来确定哪些参数(当然它们都可以保留)

Sub DownloadStockQuotes()

Dim qurl As String
qurl = "http://finance.google.com/finance/historical?q=SPY&startdate=Jan+01+1970&enddate=Dec+31+2050&output=csv"

Dim qt As QueryTable
Set qt = ActiveSheet.QueryTables.Add(connection:="TEXT;" & qurl, Destination:=Range("b2"))

With qt
.Name = "Output"
.FieldNames = True
.RowNumbers = True
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1252
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False

.TextFileColumnDataTypes = Array(2) ' This doesn't make any difference anymore

.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False

End With
End Sub

关于excel - 从网站下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45200815/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com