web-dev-qa-db-ja.com

PHP arrayと同じようにデータを保存するのに最適なVBAデータ型 `key` =>` value`は何ですか

私はVBAを使用しており、最速にするにはタイプkey => valueでデータを保存する必要があります。このデータ型は、httpリクエストからの応答テキストをキャッシュし、クエリ速度を上げるのに役立ちます。しかし、私はそれを行うための最良の方法がわかりませんか? key=>valueのphp配列と同じデータ型が必要です!助けてくれてありがとう!

14
Davuz

辞書オブジェクトを見たことがありますか?

これは、Microsoft ScriptingRuntimeの一部として利用できます。これを追加する方法の明確な例は、 this SO answer

Sub DictExample1()

Dim dict As Dictionary
Dim v As Variant

    'Create the dictionary          
    Set dict = New Dictionary

   'Add some (key, value) pairs
    dict.Add "John", 34
    dict.Add "Jane", 42
    dict.Add "Ted", 402

    'How many items do we have?
    Debug.Print "Number of items stored: " & dict.Count

    'We can retrieve an item based on the key
    Debug.Print "Ted is " & dict.Item("Ted") & " years old"


   'We can test whether an item exists
    Debug.Print "We have Jane's age: " & dict.Exists("Jane")
    Debug.Print "We have Zak's age " & dict.Exists("Zak")

    'We can update a value by replacing it
   dict.Item("Ted") = dict.Item("Ted") / 10

    Debug.Print "Ted's real age is: " & dict.Item("Ted")

   'We can add more items
    dict.Add "Carla", 23

   'And we can iterate through the complete dictionary
    For Each v In dict.Keys
        Debug.Print "Name: " & v & "Age: "; dict.Item(v)
    Next

End Sub

(出典: http://www.techbookreport.com/tutorials/vba_dictionary.html

20
Irfarino