JSONリクエストから以下の変数を表示したいと思います。 C、D、E、F、G、Hのそれぞれの「時間」、「開」、「高」、「低」、「閉」、「容積」、「容積」である。単一のJSONリクエストから複数のセルと値を解析する
要求: https://min-api.cryptocompare.com/data/histoday?fsym=BTC&tsym=USD&limit=60&aggregate=3&e=CCCAGG
したがって、私はC2:C51にある "open"の値を見たいと思います。
私は次のマクロを書いた:デバッグは次の行にエラーがあることを示しているよう
Sub OHLCdata()
Dim strURL As String
Dim strJSON As String
Dim strCurrency As String
Dim strLength As Integer
Dim i As Integer
Dim http As Object
strURL = "https://min-api.cryptocompare.com/data/histoday?fsym=" & strTicker & "&tsym=" & strCurrency & "&limit=" & strLength & "&aggregate=3&e=CCCAGG"
strTicker = Range("A2")
strCurrency = Range("A3")
strLength = Range("A4")
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", strURL, False
http.Send
strJSON = http.responsetext
Set JSON = JsonConverter.ParseJson(strJSON)
i = 2
For Each Item In JSON("DATA")
Sheets(1).Cells(i, 1).Value = Item("time")
Sheets(1).Cells(i, 2).Value = Item("open")
Sheets(1).Cells(i, 3).Value = Item("high")
Sheets(1).Cells(i, 4).Value = Item("low")
Sheets(1).Cells(i, 5).Value = Item("close")
Sheets(1).Cells(i, 6).Value = Item("volumefrom")
Sheets(1).Cells(i, 7).Value = Item("volumeto")
i = i + 1
Next
End Sub
残念ながら、マクロが動作しません:
For Each Item In JSON("DATA")
はしかし、私はする必要がありデータ(「データ」)を参照してください。
{"Response":"Success","Type":100,"Aggregated":true,**"Data"**:[{"time":1493769600,"close":1507.77,"high":1609.84,"low":1424.05,"open":1445.93,"volumefrom":338807.89999999997,"volumeto":523652428.9200001},
誰も私が間違っていることを説明することはできますか?事前に感謝します。
'Tools/References'でオプションを' Require Variable Declaration'に設定してください。あなたのモジュールの始めに、 'Option Explicit'行を入力してください。これにより、他のエラーを見つけるのに役立ちます。 'Json.Converter'はネイティブのVBAの一部ではないので、より多くの情報がなければ、私たちは貧弱な推測しかできません。 –
お返事ありがとうございます。次のエラーメッセージが表示されます。 "コンパイルエラー:プロシージャ内で無効です。"情報の不足について申し訳ありません。私は、次のgithubからJsonConverter.basをダウンロードします:https://github.com/VBA-tools/VBA-JSON/blob/master/JsonConverter.bas。また、Microsoft Scriptime Runningを有効にしました。どのように私はマクロを改善することができますか?ありがとうございました! – HJA24
エラーを示す行は何ですか?あなたの投稿されたコードにはそれを行うべきことは何もありません。 –