You can use the Do While structure in VBA for reliable access to sheet set components. The Microsoft Help for VBA contains examples of the Do While structure. The Microsoft Help for VBA is available from the Help menu in the VBA IDE.
To use the Do While structure to access sheet set components, you use a statement similar to Do While Not obj Is Nothing to determine if an object is available. For example, to use a Do While Not obj Is Nothing statement to iterate through objects in a collection, you could use the following code:
Public Function FindAllComponents(comps As Collection) As Boolean
On Local Error GoTo etrap
If comps Is Nothing Then Set comps = New Collection
Dim iter As IAcSmEnumPersist
Set iter = m_db.GetEnumerator
Dim obj As IAcSmPersist
Set obj = iter.Next
Do While Not obj Is Nothing
If TypeOf obj Is IAcSmComponent Then
Dim comp As IAcSmComponent
Set comp = obj
comps.Add comp
End If
Set obj = iter.Next
Loop
FindAllComponents = True
Exit Function
etrap:
MsgBox CStr(Err.Number) & " - " & Err.Description
End Function
For an additional example of using the Do While structure in VBA to access sheet set components, see the sample VBA project in the following folder: C:\Program Files\AutoCAD Spago Beta 3\Sample\ActiveX\SheetSetVBA.