The last entry of Consuming OData with Office VBA series had a small glitch - one of the helper functions is missing. The code isn't too tricky to write, but it's a handy little thing to have in your VBA toolkit. It simply takes a collection of dictionaries, and returns a new collection with all the keys, with duplicates removed.
Function GetDistinctKeys(ByVal objCollection As Collection) As Collection Dim objResult As Collection Dim objDictionary As Dictionary Dim objKeys As Dictionary Dim objKey As Variant ' Gather each key. Set objKeys = New Dictionary For Each objDictionary In objCollection For Each objKey In objDictionary.Keys If Not objKeys.Exists(objKey) Then objKeys.Add objKey, Nothing End If Next Next Set objResult = New Collection ' Put all keys in a collection. For Each objKey In objKeys objResult.Add objKey Next Set GetDistinctKeys = objResultEnd Function
Thanks to Matt Chappel of www.coretech.net for spotting this one, and enjoy!