IT仕事

VBA-JSONはダメだったがPowerQueryはよかった

投稿日:

オンラインショップの在庫管理目的で、業務システムを動かしているAccessかExcelで、何とかしてWebの商品マスターAPIのデータを取ってきたい。

最初、VBA-JSONというのを使えばいいのかなと思って、一日触ってみた。
いいとこまではいくのだが、名前と階層をいちいち書いていかなくては行けなくて、結構それが面倒で小難しくて、すぐに嫌になった。

次に試してみたのは、Excel2013のアドインのPowerQuery。
結論を先にいうと、うまくいった。
プログラムレスで、JSONをExcelのシート上にテーブル表示できる。
作ったシートはAccessでリンクできた。
試していないけど、Accessのクエリで加工もできそうだ。

途中にぶち当たった問題:

itemなどと表示されていてリンクのついている文字をクリックすることでその階層の表示ができるのだが、欲しい項目を見つけるのに結構苦労するところが一つ。
まあこれは、http://json.parser.online.frのような、JSONをパースして視覚的に表示してくれるツールでもって、あらかじめ自分の欲しい項目がどれなのか、リストアップしておけば問題ないであろう。

CS-CARTのWebAPIは、サーバ環境によってURL文字列が変わる。
「mod_rewritが無効になっている場合は・・・」とマニュアルにあって、自分の環境はまさにそれだと気が付くのに大分時間がかかった。

CS-CARTの商品リストをWebAPIから取ってきたいのが本命だったのだが、何度やっても最大50件までしか取ってきてくれない。
原因はCS-CART側にあることは、少し調べてみてわかったのだが、対応策が見えない。
ユーザーが少ないせいか、WEBに情報が少ない。
試行錯誤して、URLの最後に「limit=100」のように文字を入れてみたら、100件とれた! マニュアルには書いてなかったけど、それでもうまくいくときにはいくものだ。
50件までしか取れなかったURL:https://www.hogehoge.com/api.php?_d=products
100件取れたURL:https://www.hogehoge.com/api.php?_d=products&limit=100

-IT仕事

執筆者:

関連記事

Amazonへ出品している商品の、商品名だけを一括で変更したいときの手順

1.以下のページを参考に、出品レポートをダウンロード。商品名を一括で変更・編集する方法 – Amazon出品サービス / 出品に関する一般的な質問 – Amazonセラーフォー …

アンケートソフト秀吉でMAを作るためのExcel自作関数

会社の同僚用に作った。 複数列の回答を「1,2,4」のように1列にしたり、3は無ければ飛ばしたり、先頭と末尾にはカンマつけないで、とか、手作業だと色々面倒な処理を、Excelマクロにした。 以下を標準 …

no image

来週やるExcelVBAセミナーの準備をしていて、

同じ「飛び物」でもロケットが好きな人とラジコンが好きな人がいるよな、とふと思った。 ロケットの好きな人は、 準備をきちんと整えて、万全を期して発射スイッチを押す・・・飛んだ!あんなに高く。感動! 飛ん …

STUDIO使ってみたが自分にはあわなかった

いつもお世話になっているコリスさんで紹介されていた「STUDIO」。 コーディング作業はもう一切不要!2.0でものすごい進化を遂げた、国産の無料デザインツール -STUDIO 2.0 | コリス 昨日 …

no image

Googleマーチャントの送料設定に苦労

商品をGoogleマーチャントに登録しているのだが、いつしかエラー(警告)が出ていた。 エラー内容は、「送料の副属性が少なすぎます」。 ヘルプを見ながら、 表見出し:送料(国:地域:サービス:価格) …