ARRRGH! I was just going to submit some UDT (User-Defined-Type) code, but was beaten to the punch. However, to build on that code, you can nest the TYPES, and have arrays within them ... (warning - code typed on the fly)
Type Layout
LayoutName as String
ParentDoc as AcadDocument
End type
Type DwgInfo
PathSpec as String
LayoutCount as Long
Layouts() as Layout
End Type
Dim DocCount as long
Dim DocArray(DocCount) as DwgInfo
; ... and you can access the properties like such...
Dim I as Long, J as Long
For I=0 to Ubound(DocArray)
Debug.print "Document:";DocCount(I).PathSpec
For J=0 to LayoutCount
Debug.print,,"Layout Name:";DocCount(I).Layouts(J).LayoutName
Next J
Next I
... of course, you'd have to check for/set empty arrays