Excelのマクロ(VBA)を使って、
RESTでJSON形式で返ってくるサイトにアクセスして、
結果を表示したいということって、ありませんか?
(ないって・・・あると思ってください)
例えば、今、ある検索を、RESTでサーバー側で実行させていて、検索結果をJSON
で返して、ブラウザに表示しているんだけど、実は、Excelでも見たいんだよねえ~
というケース。
VBAでJSONを扱う
http://javascript.dohow.jp/advance/jsonvba.shtml
に、そのやり方が書いてあったので、やってみました。
■例
今、以下のJSONデータ
が、jsontestdata.phpにアクセスすると、得られるとする。
(JSONでのレコードの書き方は
Javascript|JSONでの、レコードの表現方法(配列、連想配列)→{}と[]の違い
を参照)
これを取得する
■ソースコード
■実行してみた

■注意点
名前がmytable,mynameなど、myをつけている理由。
これをtableとしてしまうと、VBAはTable,Nameなどのように、
1文字目を大文字にしてしまう(VBAにそういうプロパティ等があるため)
ところが、大文字にしてしまうと、当然、違うものなので、エラーに
なってしまったりする。
それが面倒なので、全てにmyをつけている。
RESTでJSON形式で返ってくるサイトにアクセスして、
結果を表示したいということって、ありませんか?
(ないって・・・あると思ってください)
例えば、今、ある検索を、RESTでサーバー側で実行させていて、検索結果をJSON
で返して、ブラウザに表示しているんだけど、実は、Excelでも見たいんだよねえ~
というケース。
VBAでJSONを扱う
http://javascript.dohow.jp/advance/jsonvba.shtml
に、そのやり方が書いてあったので、やってみました。
■例
今、以下のJSONデータ
{ "mytablename":"user", "mytable":[ {"myid":"1","myname":"family1 last1","mydate":"2014/12/10"}, {"myid":"2","myname":"family2 last2","mydate":"2014/12/10"}, {"myid":"3","myname":"family2 last3","mydate":"2014/12/10"}, {"myid":"4","myname":"family3 last4","mydate":"2014/12/10"} ] } |
が、jsontestdata.phpにアクセスすると、得られるとする。
(JSONでのレコードの書き方は
Javascript|JSONでの、レコードの表現方法(配列、連想配列)→{}と[]の違い
を参照)
これを取得する
■ソースコード
|
■実行してみた

■注意点
名前がmytable,mynameなど、myをつけている理由。
これをtableとしてしまうと、VBAはTable,Nameなどのように、
1文字目を大文字にしてしまう(VBAにそういうプロパティ等があるため)
ところが、大文字にしてしまうと、当然、違うものなので、エラーに
なってしまったりする。
それが面倒なので、全てにmyをつけている。