Sub testData() Dim shops As New Scripting.Dictionary '店を三軒追加します shops.Add "東京本店", New Scripting.Dictionary shops.Add "小金井店", New Scripting.Dictionary shops.Add "新宿店", New Scripting.Dictionary '東京本店に商品コードPD001~003を追加、定義したclsProductを利用 shops.Item("東京本店").Add "PD001", New clsProduct shops.Item("東京本店").Add "PD002", New clsProduct shops.Item("東京本店").Add "PD003", New clsProduct 'PD001~003の商品詳細を定義 shops.Item("東京本店").Item("PD001").Name = "北海度牛乳" shops.Item("東京本店").Item("PD001").Price = 165 shops.Item("東京本店").Item("PD001").Desc = "北海道のおいしい原乳" shops.Item("東京本店").Item("PD002").Name = "刺身の盛り合わせ" shops.Item("東京本店").Item("PD002").Price = 1200 shops.Item("東京本店").Item("PD002").Desc = "新鮮だ新鮮だ" shops.Item("東京本店").Item("PD003").Name = "ハンドソープ" shops.Item("東京本店").Item("PD003").Price = 350 shops.Item("東京本店").Item("PD003").Desc = "綺麗な手" '小金井店も同じ shops.Item("小金井店").Add "PD001", New clsProduct shops.Item("小金井店").Add "PD002", New clsProduct shops.Item("小金井店").Item("PD001").Name = "トーマス揺々セット" shops.Item("小金井店").Item("PD001").Price = 3200 shops.Item("小金井店").Item("PD001").Desc = "子供大人気" shops.Item("小金井店").Item("PD002").Name = "果物ゼリ" shops.Item("小金井店").Item("PD002").Price = 200 shops.Item("小金井店").Item("PD002").Desc = "りんご、ぶどう、いちご" Dim shop As Variant Dim product As Variant '全ての店から,店名を取得してループ For Each shop In shops.Keys 'その店から,商品コードを取得してループ For Each product In shops.Item(shop).Keys '店名、商品コード、商品名、値段、改行、商品説明をコンソールに出力 Debug.Print shop & " - (" & product & ")" & _ shops.Item(shop).Item(product).Name & " \ " & _ shops.Item(shop).Item(product).Price & vbNewLine & _ shops.Item(shop).Item(product).Desc Next Next End SubこっちはclsProductの中身
Private mPdtName As String Private mPdtPrice As Long Private mPdtDesc As String Public Property Let Name(ByVal newPdtName As String) mPdtName = newPdtName End Property Public Property Get Name() As String Name = mPdtName End Property Public Property Let Desc(ByVal newPdtDesc As String) mPdtDesc = newPdtDesc End Property Public Property Get Desc() As String Desc = mPdtDesc End Property Public Property Let Price(ByVal newPdtPrice As Long) mPdtPrice = newPdtPrice End Property Public Property Get Price() As Long Price = mPdtPrice End Property
イミディエイトの出力はこんな感じ、新宿店は商品一つも登録しなかったので、
表示されませんでした。
東京本店 - (PD001)北海度牛乳 \ 165
北海道のおいしい原乳
東京本店 - (PD002)刺身の盛り合わせ \ 1200
新鮮だ新鮮だ
東京本店 - (PD003)ハンドソープ \ 350
綺麗な手
小金井店 - (PD001)トーマス揺々セット \ 3200
子供大人気
小金井店 - (PD002)果物ゼリ \ 200
りんご、ぶどう、いちご
データ構造はこうなっています |
0 件のコメント:
コメントを投稿