仕事で作っているアンケートのサイトだが、
・印刷したい
・手元にも保存したい
とか、Excel感覚でオーダーが来る。そんなもんFlexでやるのは嫌なので

・いっそのこと、ブラウザ介さずExcelでやりません?

と提案してみた。

で、サンプルを作成したのだが、ポイントは2つ。
・VBAからHttpリクエストの POST を投げる
・VBAでJSONの解析を行う

一つ目。最近は msxml2 の xmlhttp クラス(MSXMLのバージョンにもよるが、Ver6を仕様)を使えばできるそうだ。
群馬のカンファレンスの時は違ったテクニックを使っていたので、昔よりはいろいろ便利になったもんだな、と思いつつ・・。
が、はまり込んだのは httpリクエストのリターンコードが503になること。何?なんで?
仕事場で6時間ぐらい格闘したがダメ。さっぱりわからん。で、自宅でWiresharkで電文覗こうと動かしたら 正常に動作した。つまりhttpリクエストのリターンコードは200 であった。なんじょそら。
[2013.03.12 追記]
仕事場では「制約を掛けている」ということでした。利用者側の環境が法人なり公共団体である場合、ExcelからWebへのアクセスが厳しくなることもありうる、ということかも。


二つ目。JSONは、もう、これも簡単にできた。


そんなこんなで、サンプル作成完了。
とりあえず、肩の荷が降りた。