はじめに

今回は、Amazonの様々な取扱商品から書籍、CD、DVDを切り替えて、キーワード検索できるようにします。動作確認は、Windows 7、Excel 2010、VBA 7.0およびWindows XP、Excel 2007、VBA 6.5で行っています。

図1.完成サンプル

Excel VBAでWebサービス - 天気予報を取得してみよう
Excel VBAでWebサービス - MSNマネーから株価の推移を取得しよう
Excel VBAでWebサービス - Excelで書籍情報を検索・取得してみよう
Excel VBAでWebサービス - YouTube APIで動画を検索しよう
Excel VBAでWebサービス - ExcelでTwitterと連携する
Excel VBAでWebサービス - ExcelでTwitterと連携する2
Excel VBAでWebサービス - ExcelでTwitterと連携する 完成編
Excel VBAでWebサービス - Amazonで書籍情報を検索してみよう

HTTP通信の手順

前回と同様です。アクセスキーID、シークレットアクセスキー、アソシエイトIDも前回取得したものを利用します。

  1. リクエストの引数を準備する
  2. 暗号化キーを使って電子署名を作成する
  3. 電子署名も含め、すべての引数を送信する

図2.HTTP通信の手順

リクエストの引数を準備する

前回と異なる引数として、以下のものがあります(○×は商品種別ごとの指定可否を表します)。

表1 リクエストの検索引数の種類

引数名 内容 Books DVD Music
Author 著者 × ×
Actor 出演者 × ×
Artist アーティスト × ×
Title 書名/タイトル
Publisher 出版社/発行元 ×
MusicLabel レーベル × ×
Keywords キーワード

リクエストのソート引数には、以下のものがあり、「Sort=引数値」という形で1種類のみ指定可能です。

表2.リクエストのソート引数の種類

引数値 意味 Books DVD Music
salesrank 売れている順
pricerank 価格の安い順
daterank 発行日の新しい順 × ×
-releasedate 発行日の新しい順 ×

Excelによる開発

前回と同様、以下の手順で行います。

  1. 各種の値を格納する名前を定義し、固定値と関数を設定する
  2. 操作画面用のオブジェクト、関数、名前定義を設定する
  3. VBAに必要な参照設定を行う
  4. HTTP通信を行うVBAを記述する
  5. 商品検索を行う共通部分のVBAを記述する
  6. オブジェクトの処理に応じたVBAを記述する

上記の手順3、4については、全く同じですので、前回の記事をご参照ください。