Ich bin ein Yahoo Finance API-Flüchtling (sie haben ihren API-Dienst eingestellt) versuchen, zu Alpha Vantage wechseln. Ich habe den folgenden Code geändert, den ich zuvor für Yahoo Finance verwendet habe, aber ich bekomme einen Fehler #VALUE in Excel.Alpha Vantage: Excel VBA verwenden, um Daten aus der CSV-Datei zu ziehen
Die unten stehende URL funktioniert von selbst (es öffnet eine CSV, wenn Sie es in Ihren Webbrowser eingeben), also mein wahres Problem liegt darin, die richtigen Daten aus der CSV in meine Excel-Tabelle zu extrahieren. Würde jemand damit helfen können?
Ich versuche, aus der CSV die Daten in Zeile 2, Spalte 5 (der letzte Schlusskurs) zu extrahieren. Vielen Dank im Voraus!
Function StockClose(Ticker As String)
Dim URL As String, CSV As String, apikey As String, SCRows() As String, SCColumns() As String, pxClose As Double
apikey = "*censored*"
URL = "https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=" & Ticker & "&outputsize=full&" & apikey & "&datatype=csv"
Set xmlhttp = CreateObject("MSXML2.XMLHTTP")
xmlhttp.Open "GET", URL, False
xmlhttp.Send
CSV = xmlhttp.responseText
'split the CSV into rows
SCRows() = Split(CSV, Chr(10))
'split the relevant row into columns. 0 means 1st row, starting at index 0
SCColumns() = Split(SCRows(1), ",")
'6 means: 5th column; starting at index 0 - price close is in the 5th column
pxClose = SCColumns(6)
StockClose = pxClose
Set http = Nothing
End Function
Probe der Daten zurückgegeben, wenn ich json statt csv extrahieren:
{ "Meta-Daten": { "1. Information": „Tagespreise (offen, hoch, niedrig , schließen) und Volumes ", " 2. Symbol ":" SGD = X ", " 3. Letzte Aktualisierung ":" 2017-11-10 ", " 4. Ausgabegröße ":" Volle Größe ", "5. Zeitzone": "US/Eastern" }, "Zeitreihe (täglich)": { "201 7-11-13 ": { " 1. Öffnen ":" 1.3588 ", " 2. hoch ":" 1.3612 ", " 3. niedrig ":" 1.3581 ", " 4. schließen ":" 1.3587 ", " 5. Volumen ":" 0 " }, " 2017-11-10 ": { " 1. Öffnen ":" 1.3588 ", " 2. hoch ":" 1.3612 ", " 3. niedrig ":" 1.3581 ", " 4. schließen ":" 1.3587 ", " 5. Volumen ":‚ 0‘ },
Überprüfen Sie [diese Antwort] (https://Stackoverflow.com/a/43969543/2165759), es könnte Ihnen helfen, mit Yahoo Finance API zu verwalten. – omegastripes