Can anyone please guide me through how I can access object value that has dictionary in it
I have used invoke VBA where I have written function code and returning dictionary as output value, but we know it return in object type. It’s doing so, but how can I access those dictionaries value from it.
This is what I’m getting in object, that has two dictionary key C, D.
-Ensure you have a reference to the Microsoft Scripting Runtime**:
*In the VBA editor, go to Tools > References.
*Find and check Microsoft Scripting Runtime.
Sub AccessDictionary()
Dim dict As Object
Set dict = GetDictionary()
Dim key As Variant
For Each key In dict.Keys
Debug.Print "Key: " & key & ", Value: " & dict(key)
Next key
End Sub
Cheers
Your output datatype should be Dictionary(of X, Y) (x and y to match your output). Then you just reference it like you would any dictionary… myDict(“key”) will give you the value for that key.
@bavyaravu133 thanks for reply, but I have no issue for creating dictionary in vba. It’s done.
Here is the written code.
Function GetModifiedDictionary(strName As String) As Object
Dim modifiedDict As Object
Dim key As String
Set modifiedDict = CreateObject("Scripting.Dictionary")
' Copy the input dictionary to the modified dictionary
' Modify the dictionary
modifiedDict.Add "C", 3
modifiedDict.Add "D", strName
' Return the modified dictionary
Set GetModifiedDictionary = modifiedDict
End Function
So this function returning the dictionary in output for invoke vba return value will be of object type.