Neben dem Durchsuchen des aktuellen Modells nach bestimmten Elementen besteht auch oft die Notwendigkeit die Suche auf alle angehängten Referenzen auszuweiten.Die Behandlung von Referenzen bei der Suche ist jedoch sehr ähnlich der Suche in einem Modell, denn eine Referenz (Attachment in VBA) entspricht vom Typ einem Modell.
Hier ein kleines Beispiel, bei dem alle Referenzen nach Linien durchsucht und die Gesamtanzahl der gefundenen Linien ausgegeben wird:
Sub refscan() Dim Ee As ElementEnumerator Dim SC As New ElementScanCriteria Dim oAtt As Attachment Dim count As Long count = 0 SC.ExcludeAllTypes SC.IncludeType msdElementTypeLine For Each oAtt In ActiveModelReference.Attachments Set Ee = oAtt.Scan(SC) Do While Ee.MoveNext count = count + 1 Loop Next MsgBox ("Insgesamt " & count & " Linien in allen Referenzen gefunden") End Sub
Die For..Next Schleife durchläuft dabei alle am aktuell geöffneten Modell angehängten Referenzen, die Variable count zählt dabei alle gefundenen Linien, dessen Endstand zum Abschluß ausgegeben wird.