Dictionary Dictionaryオブジェクト基本サンプルコード(全プロパティ・メソッド)
※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。
※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。
説明
|
Private Sub testDictionary() '******************************* 'Dictionary オブジェクト作成方法 '******************************* Dim d Set d = CreateObject("Scripting.Dictionary") d.Add "a", "アテネ" ' キーと項目を追加します。 d.Add "b", "ベオグラード" d.Add "c", "カイロ" End Sub Private Sub TestCount() '******************************* 'Count プロパティ '******************************* 'コレクションの中のオブジェクト数を返す。値の取得のみ可能。 'Dictionary オブジェクトに格納される項目の数を返す。値の取得のみ可能。 'Object.Count 'object には、[対象] 一覧内のいずれかの項目の名前を指定します。 Dim a, d, i, s ' 変数を作成します。 Set d = CreateObject("Scripting.Dictionary") d.Add "a", "アテネ" ' キーと項目を追加します。 d.Add "b", "ベオグラード" d.Add "c", "カイロ" a = d.Keys ' キーを取得します。 For i = 0 To d.Count - 1 ' 配列に繰り返し処理を行います。 Debug.Print a(i) ' 結果を返します。 Next 'a 'B 'c End Sub Private Sub testItem() '******************************* 'item プロパティ '******************************* 'Dictionary オブジェクトにある指定されたキーと関連付ける項目を設定します。 'コレクションの場合は、指定されたキーに対応するオブジェクトを返します。 '値の取得も可能です。 'object.Item(key)[ = newitem] '引数 'Object '必ず指定 コレクションまたは Dictionary オブジェクトの名前を指定します。 'key '必ず指定 取得または設定する項目に関連付けられているキーを指定します。 'newitem '省略可能 Dictionary オブジェクトの場合のみ指定可能で、コレクションには使用できません。 ' 引数 key で指定したキーに関連付ける新しい値を指定します。 '解説 '項目を変更するときに引数 key で指定したキーが見つからない場合、 'newitem で指定した項目と関連付けられた、引数 key で指定した新 'しいキーが作成されます。また、既存の項目を取得するときに引数 'key で指定したキーが見つからない場合は、空の項目と関連付けられ 'た、引数 key で指定した新しいキーが作成されます。 Dim d Set d = CreateObject("Scripting.Dictionary") d.Add "a", "アテネ" ' キーと項目を追加します。 d.Add "b", "ベオグラード" d.Add "c", "カイロ" Debug.Print d.item("c") ' 項目を取得します。 'カイロ End Sub Private Sub testkey() '******************************* 'key プロパティ '******************************* 'Dictionary オブジェクトにキーを設定します。 'Object.key(key) = newkey '引数 'Object '必ず指定 Dictionary オブジェクトの名前を指定します。 'key '必ず指定 変更するキーの値を指定します。 'newkey '必ず指定 引数 key で指定したキーと置き換える新しいキーを指定します。 '解説 'キーを変更するときに引数 key で指定したキーが見つからなかった場合は、 '引数 key の指定を使って、空の項目を持つ新しいキーが作成されます。 Dim d ' 変数を作成します。 Set d = CreateObject("Scripting.Dictionary") d.Add "a", "アテネ" ' キーと項目を追加します。 d.Add "b", "ベオグラード" d.Add "c", "カイロ" d.key("c") = "d" ' "c" のキーを "d" にセットします。 Debug.Print d.item("d") ' 関連した項目を返します。 'カイロ End Sub Private Sub testAdd() '******************************* 'Add メソッド '******************************* 'Dictionary オブジェクトに 1 組のキーと項目を追加します。 'object.Add (key, item) '引数 'Object '必ず指定 Dictionary オブジェクトの名前を指定します。 'key '必ず指定 引数 item で指定した項目と関連付けるキーを指定します。 'item '必ず指定 引数 key で指定したキーと関連付ける項目を指定します。 '解説 '引数 key で指定したキーが既に存在していた場合は、エラーが発生します。 Dim d Set d = CreateObject("Scripting.Dictionary") d.Add "a", "アテネ" ' キーと項目を追加します。 d.Add "b", "ベオグラード" d.Add "c", "カイロ" End Sub Private Sub testExists() '******************************* 'Exists メソッド '******************************* '指定したキーが Dictionary オブジェクト内に '存在する場合は、真 (true) を返す。 '存在しない場合は、偽 (false) を返す。 'Object.Exists (key) '引数 'Object '必ず指定 Dictionary オブジェクトの名前を指定します。 'key '必ず指定 Dictionary オブジェクト内で検索するキーの値を指定します。 Dim d, msg ' 変数を作成します。 Set d = CreateObject("Scripting.Dictionary") d.Add "a", "アテネ" ' キーと項目を追加します。 d.Add "b", "ベオグラード" d.Add "c", "カイロ" If d.Exists("c") Then msg = "指定したキーは存在します。" Else msg = "指定したキーはありません。" End If Debug.Print msg '指定したキーは存在します。 End Sub Private Sub testItems() '******************************* 'Items メソッド '******************************* 'Dictionary オブジェクト内のすべての項目を格納した配列を返します。 'object.Items( ) 'object には、Dictionary オブジェクトの名前を指定します。 Dim a, d, i, s ' 変数を作成します。 Set d = CreateObject("Scripting.Dictionary") d.Add "a", "アテネ" ' キーと項目を追加します。 d.Add "b", "ベオグラード" d.Add "c", "カイロ" a = d.Items ' 項目を取得します。 For i = 0 To d.Count - 1 ' 取得した配列に繰り返し処理を行います。 Debug.Print a(i) ' 結果を返します。 Next 'アテネ 'ベオグラード 'カイロ End Sub Private Sub testKeys() '******************************* 'Keys メソッド '******************************* 'Dictionary オブジェクト内のすべての既存キーを格納した配列を返します。 'object.Keys( ) 'object には、Dictionary オブジェクトの名前を指定します。 Dim a, d, i ' 変数を作成します。 Set d = CreateObject("Scripting.Dictionary") d.Add "a", "アテネ" ' キーと項目を追加します。 d.Add "b", "ベオグラード" d.Add "c", "カイロ" a = d.Keys ' キーを取得します。 For i = 0 To d.Count - 1 ' 取得した配列に繰り返し処理を行います。 Debug.Print a(i) ' 結果を返します。 Next 'a 'B 'c End Sub Private Sub testRemove() '******************************* 'Remove メソッド '******************************* 'Dictionary オブジェクトからキーと項目の組みを削除します。 'Object.Remove (key) '引数 'Object '必ず指定 Dictionary オブジェクトの名前を指定します。 'key '必ず指定 Dictionary オブジェクトから削除するキーと項目の組みと ' 関連付けられた引数 key を指定します。 '解説 '存在しないキーを指定した場合は、エラーが発生します。 Dim a, d, i ' 変数を作成します。 Set d = CreateObject("Scripting.Dictionary") d.Add "a", "アテネ" ' キーと項目を追加します。 d.Add "b", "ベオグラード" d.Add "c", "カイロ" d.Remove ("b") ' 2 つ目の組を削除します。 a = d.Items ' 項目を取得します。 For i = 0 To d.Count - 1 ' 配列に繰り返し処理を行います。 Debug.Print a(i) ' 結果を返します。 Next 'アテネ 'カイロ End Sub Private Sub testRemoveAll() '******************************* 'RemoveAll メソッド '******************************* 'Dictionary オブジェクトからすべてのキーと項目を削除します。 'object.RemoveAll( ) 'object には、Dictionary オブジェクトの名前を指定します。 Dim a, d, i ' 変数を作成します。 Set d = CreateObject("Scripting.Dictionary") d.Add "a", "アテネ" ' キーと項目を追加します。 d.Add "b", "ベオグラード" d.Add "c", "カイロ" a = d.RemoveAll ' // 辞書をクリアします。 Debug.Print d.Count ' 結果を返します。 ' 0 End Sub |