各種の値を格納する名前を定義し、固定値と関数を設定する
まず、前回と全く同様、以下の名前を定義し、固定値を設定しておきます。
 |
図3.共通引数などの格納場所の準備 |
次に、リクエストの検索のため、セルの名前定義と固定値の設定をします。表示用の日本語と、Amazon用の名前とをペアで用意することにより、VBAのロジックをシンプルにできます。また、商品種別ごとに異なる引数名、タグ名を2次元の表に配置して、ロジックの共通化を図ります。
 |
図4.検索引数などの格納場所の準備 |
表3.検索引数のためのセルの名前定義と設定値
| セルの名前定義 |
説明 |
設定値(ワークシート関数) |
| ItemGroupList |
商品種別の表示名 |
本、DVD、ミュージック |
| ItemGroup |
選択した商品種別 |
(コンボボックスで選択した値が入る) |
| ItemGroupIndex |
製品種別のインデックス |
=MATCH(ItemGroup,ItemGroupList,0) |
| SearchIndexList |
商品種別の引数名 |
Books、DVD、Music |
| SearchKeyTableJP |
検索項目の表示名 |
(表4を参照) |
| SearchKeyTable |
検索項目の引数名 |
(表5を参照) |
| SortTypeTableJP |
ソート順の表示名 |
売れている順、価格の安い順、発行日の新しい順 |
| SortType |
選択したソート順 |
(コンボボックスで選択した値が入る) |
| SortTypeIndex |
ソート順のインデックス |
=MATCH(SortType,SortTypeTableJP,0) |
| SortTypeTable |
ソート順の引数名 |
(表6を参照) |
表4.検索項目の表示名の設定値
| 書籍列 |
DVD列 |
ミュージック列 |
| 著者 |
出演者 |
アーティスト |
| 書名 |
タイトル |
タイトル |
| 出版社 |
発行元 |
レーベル |
| キーワード |
キーワード |
キーワード |
表5.検索項目の引数名の設定値
| Books列 |
DVD列 |
Music列 |
| Author |
Actor |
Artist |
| Title |
Title |
Title |
| Publisher |
Publisher |
MusicLabel |
| Keywords |
Keywords |
Keywords |
表6.ソート順の引数名の設定値
| Books列 |
DVD列 |
Music列 |
| salesrank |
salesrank |
salesrank |
| pricerank |
pricerank |
pricerank |
| daterank |
-releasedate |
-releasedate |
ItemGroup、SortTypeには、後述するコンボボックスで選択した値が入りますので、設定は不要です。
ItemGroupIndexには、ワークシート関数「=MATCH(ItemGroup,ItemGroupList,0)」を設定してください。MATCH関数は、一覧表の中で指定した値が何番目にあるかを返す関数です。第1引数に値、第2引数に一覧表のセル範囲を指定します。第3引数に0を指定した場合は、完全一致を表します。SortTypeIndexについても同様に「=MATCH(SortType,SortTypeTableJP,0)」を設定してください。
最後に、レスポンスの取得データ表示のため、表7のようにセルの名前定義と固定値の設定をしておきます。
表7.取得データ項目名のセルの名前定義と設定値
| セルの名前定義 |
説明 |
設定値 |
| ResItemTableJP |
取得データ項目の表示名 |
(表8を参照) |
| ResItemTable |
取得データ項目のタグ名 |
(表9を参照) |
表8.取得データ項目の表示名の設定値
| 書籍行 |
著者 |
タイトル |
出版社 |
標準価格 |
発行日 |
| DVD行 |
出演者 |
タイトル |
発行元 |
標準価格 |
リリース日 |
| ミュージック行 |
アーティスト |
タイトル |
レーベル |
標準価格 |
リリース日 |
表9.取得データ項目のタグ名の設定値
| Books行 |
Author |
Title |
Publisher |
ListPrice |
PublicationDate |
| DVD行 |
Actor |
Title |
Publisher |
ListPrice |
ReleaseDate |
| Music行 |
Artist |
Title |
Publisher |
ListPrice |
ReleaseDate |