А если разложить компоненты по специально созданным папкам?
Кое-какой API для этого имеется. В хелпе есть вот такой пример:
Public Sub AddOccurrencesToFolder()
Dim oDoc As AssemblyDocument
Set oDoc = ThisApplication.ActiveDocument
Dim oDef As AssemblyComponentDefinition
Set oDef = oDoc.ComponentDefinition
Dim oPane As BrowserPane
Set oPane = oDoc.BrowserPanes.ActivePane
Dim oOccurrenceNodes As ObjectCollection
Set oOccurrenceNodes = ThisApplication.TransientObjects.CreateObjectCollection
Dim oOcc As ComponentOccurrence
For Each oOcc In oDef.Occurrences
Dim oNode As BrowserNode
Set oNode = oPane.GetBrowserNodeFromObject(oOcc)
oOccurrenceNodes.Add oNode
Next
Dim oFolder As BrowserFolder
Set oFolder = oPane.AddBrowserFolder("My Occurrence Folder", oOccurrenceNodes)
End Sub
Кроме того, можно и сортировать браузер.
Есть метод BrowserPane.Reorder.
BrowserPane.Reorder( TargetNode As BrowserNode, Before As Boolean, StartNode As BrowserNode, [EndNode] As Variant )
Ведь если отладить своп для пары соседних узлов,
то можно реализовать сортировку любым доступным методом.