VBA で Do While 文を使用することにより、シート セット コンポーネントに確実にアクセスすることができます。Do While 文の例は、Microsoft の VBA ヘルプに記載されています。Microsoft の VBA ヘルプは、VBA IDE の[ヘルプ]メニューから表示することができます。
Do While 文を使用してシート セット コンポーネントにアクセスするには、オブジェクトが使用可能かどうかを調べる Do While Not obj Is Nothing と同様の構文を使用します。たとえば、Do While Not obj Is Nothing 文を使用してコレクション内のオブジェクトを走査するには、次のコードを使用します。
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