2012-07-13 19 views
9

Tôi đang làm việc với VBA và cần lưu dữ liệu theo loại key =>value để nhận được nhanh nhất; Kiểu dữ liệu này giúp tôi nhớ lại văn bản trả lời từ yêu cầu http, tăng tốc độ truy vấn. Nhưng tôi không biết cách tốt nhất để làm điều đó là gì? Tôi cần một kiểu dữ liệu giống như mảng php với key=>value! Cảm ơn sự giúp đỡ!Loại dữ liệu VBA tốt nhất`key` => `giá trị` để lưu dữ liệu giống như mảng PHP

+2

thể trùng lặp của [Liệu VBA có cấu trúc điển?] (Http://stackoverflow.com/questions/915317/does-vba-have-dictionary-structure) –

Trả lời

14

Bạn đã xem đối tượng từ điển chưa?

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 

(Nguồn: http://www.techbookreport.com/tutorials/vba_dictionary.html)

+0

Cảm ơn bạn! Tôi đã hiểu! – Davuz

+2

Vui lòng không tham khảo các trang web khác. Đây là nơi bạn có thể viết giải pháp. –

+3

@PawelMiechowiecki: Có gì sai khi cung cấp URL với thông tin bổ sung? Đặc biệt vì để làm cho mã này hoạt động, bạn phải bật tham chiếu đến "Thời gian chạy Microsoft Script" mà bước được mô tả trong URL đã cho ... –

Các vấn đề liên quan