Ограничивает обход выделенными объектами слоя.
Visual Basic:
Sub SetSelectedOnly(bSelectedOnly As Boolean)
bSelectedOnly - обходить только выделенные объекты.
Вызывать метод надо до MoveFirst. Если вызвать его после, обход даёт ровно один объект независимо от того, сколько их выделено.
Выделен ли текущий объект, показывает метод IsSelected.
Visual Basic:
Sub IZEnumElements_SetSelectedOnly 'Итератор по объектам активного слоя карты Set L = Zulu.ActiveMapDoc.Layers.Active Set En = L.EnumElements En.MoveFirst 'Ограничение задается до перехода на первый объект Set En2 = L.EnumElements En2.SetSelectedOnly True En2.MoveFirst n = 0 Do While Not En2.IsEOF n = n + 1 En2.MoveNext Loop MsgBox "Выделенных объектов: " & n End SubPython:
import zulu def Macro_IZEnumElements_SetSelectedOnly(): # Итератор по объектам активного слоя карты L = zulu.App.ActiveMapDoc.Layers.Active En = L.EnumElements() En.MoveFirst() # Ограничение задается до перехода на первый объект En2 = L.EnumElements() En2.SetSelectedOnly(True) En2.MoveFirst() n = 0 while not En2.IsEOF(): n += 1 En2.MoveNext() print("Выделенных объектов:", n)