First, dynamic arrays cannot be declared the way you have done it. They are declared dynamic by adding a pair of parens in the Dim statement, thus, ...
Dim myObjArray()
Then they cannot be filled using the Array function. Rather they must be ReDimed to some size and information stored in them by addressing their elements, thus ...
ReDim Preserve myObjArray(0)
myObjArray(0) = somevar ' it can be a Dictionary, string or other object
Further, adding elements to the array will not make the new one(s) dictionary object(s). The elements will be of type variant. If you want then to be subtyped as Dictionary objects, you will need to define them as such, as you did with the first one. Each new element will need to be a newly created dictionary object, as in ...
ReDim Preserve myObjArray(1)
myObjArray(1) = createobject("Scripting.Dictionary")
Note the use of the Preserve keyword to keep the values of the previously defined elements.
HTH,
__________________________
Tom Lavedas