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仕事

執筆者:

関連記事

no image

読めなくなったHDD

知人から、Windowsで使っていてある日から読めなくなった外付けHDDからのデータ取出しを頼まれる。 以下、やってみたことと結果。 HDDケースとHDDのどちらがトラぶっているのかを調べるため、自分 …

no image

秀丸で再感動

秀丸で、ソート。 数字を一桁二桁の区別なく数値的に並べ替えしてくれるのは便利。 上・中・下の文字は下・上・中の順になるのは惜しいがそれでも十分便利。 hidemarnet explorerで、FTP先 …

no image

Excelで使える祝日判定のWebAPIを見つけた

Excelの関数には、曜日を判定できる関数(WEEKDAY)が用意されている。また、表示だけなら書式設定でもできる。しかし祝日となると、関数も何も、用意されていない。 祝日は年により、突然増えたり、「 …

no image

不動産プラグインの「トップ物件表示」ウィジェットが9件目から段ズレする。

解決できなくて、数時間、悩んだ~。 結局わかったのは、 ・ウィジェットのブロックの高さ調整にJQueryを使っている。CSSで決め打ちではない。 ・PHPのコードで、物件4件ごとに高さを決めている。 …

no image

Responsiveが超高速で作れるArtisteer最高

Webの高速制作ツールのArtisteerがResponsiveに対応しているのは知っていた。 けども、Wordpressでウィジェットとして追加したブロックの一つ一つについて、モバイルで表示したくな …