カテゴリシートを作成する
カテゴリ情報の走査のため、カテゴリ探索専用のシート(名前はCate)を作ります。
[開発]タブの[ソース]をクリックすると、[XMLソース]ウィンドウが右側に開きます。 右下にある[XML対応付け]ボタンをクリックしてダイアログを開き、[追加]ボタンをクリックし、[XMLソースの選択]では、保存したXML Schemaファイルを選択してください。
[XMLの対応付け]の一覧に「ResultSet_対応付け」が追加されますので、[OK]ボタンをクリックします。
カテゴリ情報で必要な項目は以下の通りです。
表7.カテゴリ情報で必要な項目
要素名 | 親要素名 | 内容 |
---|---|---|
ParentCategoryId | Result | 親カテゴリID(上位に戻るために必要) |
CategoryId | ChildCategory | 子カテゴリID |
CategoryName | ChildCategory | 子カテゴリ名 |
IsLeaf | ChildCategory | 末端カテゴリか否か(TRUEまたはFALSE) |
[XMLソース]ウィンドウの項目から、上記の要素名をワークシート上にドラッグ&ドロップして配置してください。
データ読み込み部分に、「テーブル1」という名前が自動生成されていることを確認してください。配置をやり直すと、名前がテーブル2、テーブル3などになってしまいます。その場合、配置完了後、テーブル1に修正してください。
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の通りです。
表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で反映されること