ビットバンクのXRP/JPYのリアルタイムの価格をAPIを利用してエクセルに読み込んでみたいと思います。
通貨は人気銘柄のリップル(XRP)にしたいと思います。
https://docs.bitbank.cc/
今回はticker情報を読み込みます。
REST API一覧のTickerをクリックしてTry it out を押すとリクエストURLが出てくるのでそれを使います。
リクエストすると下記のようなjsonが返ってきます。
{"success":1,"data":{"sell":"103.600","buy":"103.595","high":"113.200","low":"100.015","last":"103.595","vol":"52159588.5181","timestamp":1520328576053}}
終値だけをセルに出力したいと思います。
・VBAコード
主な流れとしてJSONをセット→読み込み→パースの順となります。
Dim HttpReq As Object, TickerJSON As String
Dim js As Object
Dim objJSON As Object
'Query XRP/JPY Ticker Api
'jsonをセット
Set HttpReq = CreateObject("MSXML2.XMLHTTP")
HttpReq.Open "GET", "https://public.bitbank.cc/xrp_jpy/ticker", False
HttpReq.send
'json読み込み
TickerJSON = HttpReq.responseText
Set HttpReq = Nothing
Set js = CreateObject("ScriptControl")
js.Language = "JScript"
'Parse JSON jsonをパースする
js.AddCode "function jsonParse(s) { return eval('(' + s + ')'); }"
詳しくは私が書いたnoteをご覧ください。
【VBAプログラミング】 bitbankからOHLCVデータを取得して表示する方法
・実行結果
今回のコードはScriptControlを使用しているので、MS officeが64bit版だと動作しません。
まだJSONを使うことに慣れていないためわからないことが多くていろいろと悩みました。VBA-JSONについては情報が少ないです。面倒臭いらしくVBAでJSON使うなというサイトがいくつかありました。
ただ、私としては今回経験してJSONの知識が少しつきましたので機会があればまたJSONに挑戦したいと思います。
エクセルツールを公開しました。ダウンロード可能です。↓
ビットバンクからOHLCVデータを取得&表示するExcelツール 読取太郎
無料・ダウンロード可) 仮想通貨エクセルツール2 各国法定通貨換算可能!仮想通貨価格・時価総額データ表示アプリケーション -Excel VBA
Microsoft Office 365 Solo (最新 1年更新版)|オンラインコード版|Win/Mac/iPad対応