カテゴリシートを作成する

カテゴリ情報の走査のため、カテゴリ探索専用のシート(名前はCate)を作ります。

[開発]タブの[ソース]をクリックすると、[XMLソース]ウィンドウが右側に開きます。 右下にある[XML対応付け]ボタンをクリックしてダイアログを開き、[追加]ボタンをクリックし、[XMLソースの選択]では、保存したXML Schemaファイルを選択してください。

図8.「XMLソースの選択」ダイアログ

[XMLの対応付け]の一覧に「ResultSet_対応付け」が追加されますので、[OK]ボタンをクリックします。

カテゴリ情報で必要な項目は以下の通りです。

表7.カテゴリ情報で必要な項目

要素名 親要素名 内容
ParentCategoryId Result 親カテゴリID(上位に戻るために必要)
CategoryId ChildCategory 子カテゴリID
CategoryName ChildCategory 子カテゴリ名
IsLeaf ChildCategory 末端カテゴリか否か(TRUEまたはFALSE)

[XMLソース]ウィンドウの項目から、上記の要素名をワークシート上にドラッグ&ドロップして配置してください。

図9.XMLソース項目のドラッグ

データ読み込み部分に、「テーブル1」という名前が自動生成されていることを確認してください。配置をやり直すと、名前がテーブル2、テーブル3などになってしまいます。その場合、配置完了後、テーブル1に修正してください。

図10.XMLソース項目の配置完了後

Excel 2007では、最初にParentCategoryIdを配置した際、上図のようにならないことがあるようです。その場合、他の要素を先に2列目以降に配置した後、ParentCategoryIdを1列目に配置すればうまくいくようです。

検索画面を作成する

Sheet1に以下の名前を定義します。

表8.検索画面の名前定義

名前 参照範囲 格納値
CatePath A4 カテゴリのパス
totalAvailable D1 カテゴリの全商品数
totalReturned D2 取得された商品数
firstPosition D3 何番目から取得されたか
title_header A5 商品リストのタイトルヘッダ
seller_header B5 同、出品者ヘッダ
price_header C5 同、現在価格ヘッダ
time_header D5 同、終了時間ヘッダ

また、Sheet3に以下の名前を定義します。

表9.検索画面の名前定義

名前 参照範囲 格納値
SortPrice A1 現在価格でソートするか否か
SortTime A2 終了時間でソートするか否か
SortAsc A3 昇順でソートするか否か
SortDesc A4 降順でソートするか否か
requestPage A5 リクエストしたページ

更に、Sheet1に以下のActive Xオブジェクトを配置します。それぞれのプロパティ設定は、表10の通りです。

図11.検索画面の準備

表10.ActiveXオブジェクトの作成

種類 名前 目的 Caption属性 Enabled属性 その他の属性
コンボボックス cbCate カテゴリを選択 True ListRows=25
(同) cbLower カテゴリ移動 下位へ False
(同) cbUpper (同) 上位へ False
(同) cbTop (同) トップへ False
(同) cbList 商品リスト検索 取得 False
(同) cbNext (同) 次頁へ False
(同) cbPrev (同) 前頁へ False
オプションボタン obPrice ソート列の選択 現在価格 False GroupName=SortField、LinkedCell=SortPrice
(同) obTime (同) 終了時間 False GroupName=SortField、LinkedCell=SortTime
(同) obAsc ソート方向の選択 昇順 False GroupName=SortDirection、LinkedCell=SortAsc
(同) obDesc (同) 降順 False GroupName=SortDirection、LinkedCell=SortDesc
ラベル Label1 表示 ソート列 True
(同) Label2 (同) ソート順 True

オプションボタンについては以下の点に注意してください。

・GroupNameを同じにすることにより、複数のオプションボタンが択一になること
・チェックの有無はLinkedCell(ボタンの状態と連動するセル)にTRUEまたはFALSEで反映されること