各種の値を格納する名前を定義し、固定値と関数を設定する
まず、前回と全く同様、以下の名前を定義し、固定値を設定しておきます。
|
図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 |