Ah ok but if u want to call them all is faster with a loop 
Well this is the way i do it kk there maybe different ways but this works cool.
Declarations:
Code:
Public newD() As New FrmDoc
Public freei As Integer
New document code:
Code:
freei = FreeIndex()
If freei = 0 Then
freei = 1
ReDim newD(1 To 1)
End If
newD(freei).Show
Free Index function:
Code:
Function FreeIndex() As Integer
On Error GoTo errsub
Dim i As Integer
Dim ArrayC As Integer
ArrayC = UBound(newD)
ReDim Preserve newD(1 To ArrayC + 1)
FreeIndex = UBound(newD)
Exit Function
errsub:
FreeIndex = 0
End Function
Hope it helps!