Scripting.Dictionaries don't exist as part of VBA. They are provided by the Scripting.Runtime. To use scripting.dictionaries in VBA you either have to add a reference to the scripting.runtime to VBA so VBA knows what scripting.dictionaries are and can create them, or you create a late bound object e.g. CreateObject("Scripting.Dictionary") whereby VBA will ask any libraries registered in Windows if they know what a scripting.dictionary is and can they very kindly create one.
When developing macros its best to add a library reference so that you get full advantage of any intellisense provided for the references objects and methods. This is why I provided the instructions on how to register the scripting.runtime.
If you are unable to register the Scripting.runtime then make the following changes.
Code:
Public quoted_definitions as Scripting.Dictionary
to
Code:
Public quoted_definitions As Object
and
Code:
Set quoted_definitions =New Scripting.Dictionary
to
Code:
Set quoted_definitions = CreateObject("Scripting.Dictionary")
The code you have copied appears to be correct. Try the above changes.