2012-07-13 17 views
9

Estoy trabajando con VBA y necesito guardar datos en el tipo key =>value para obtener el más rápido; Este tipo de datos me ayuda a almacenar en caché el texto respondido de la solicitud http, aumenta la velocidad de la consulta. Pero no sé cuál es la mejor manera de hacerlo? ¡Necesito un tipo de datos igual que una matriz php con key=>value! ¡Gracias por la ayuda!¿Cuál es el mejor tipo de datos VBA`key` => `value` para guardar datos igual que PHP array

+2

posible duplicado de [¿El VBA tiene la estructura de diccionario?] (Http://stackoverflow.com/questions/915317/does-vba-have-dictionary-structure) –

Respuesta

14

¿Has mirado el objeto del diccionario?

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 

(Fuente: http://www.techbookreport.com/tutorials/vba_dictionary.html)

+0

¡Gracias! ¡Lo tengo! – Davuz

+2

Por favor, no hagas referencias a otros sitios. Este es el lugar donde puedes escribir la solución. –

+3

@PawelMiechowiecki: ¿Qué hay de malo en proporcionar URL con información adicional? Especialmente porque para hacer que este código funcione, debe habilitar la referencia a "Microsoft Scripting Runtime", cuyo paso se describe en la URL especificada ... –

Cuestiones relacionadas