I was pleased to find that I could call structs that I had set up in vb.net straight into excel vba - using COM visible and registering using regasm.exe.
I am struggling to do the same with a dictionary created in vb.net.
I found this link which suggested that the dictionary in vb.net was not the same as the runtime.scripting dictionary found in vba.
I was unable to have much luck with the links suggested in the comments though.
Here is the vb.net code:
Public Function ReturnDict() As Dictionary(Of String, Integer)
Dim dict As New Dictionary(Of String, Integer)
dict.Add("a", 10)
dict.Add("b", 11)
Return dict
End Function
Here is the vba code:
Function MyReturnDict()
Dim classLib As New MyVBClass.Class1
Set MyDict = classLib.ReturnDict()
\\do stuff with dictionary
MyReturnDict = Result
End Function
Any help/advice would be much appreciated!
Hans Passant's solutions in the comments above perfectly solved the problem:
In VB.net, either use:
or reference scrrun.dll and:
The latter solution provides a VBA dictionary that can be used as one would like.