Возвращает коллекцию ChangedElementKeys, содержащую список объектов слоя, которые были изменены в результате последней операции редактирования.
Visual Basic:
Property ChangedElements As ChangedElementKeys
read-only
Коллекция описывает только последнюю операцию: каждая следующая правка заменяет её содержимое. В неё попадают добавленные, изменённые и удалённые объекты — в том числе при правке из программы: после добавления символа коллекция содержит его ключ, после разбиения линии символом — ключи исходной и новой линии. Что именно произошло с каждым объектом, сообщает свойство EditResult коллекции.
Пока слой не редактировался, коллекция пуста.
Visual Basic:
Sub Layer_ChangedElements 'Берем активный слой карты Set L = Zulu.ActiveMapDoc.Layers.Active 'Объекты, затронутые последней правкой слоя Set Keys = L.ChangedElements If Keys.Count = 0 Then MsgBox "Слой еще не редактировался" Exit Sub End If S = "Затронуто объектов: " & Keys.Count For i = 1 To Keys.Count S = S & vbCrLf & "ID " & Keys.Item(i) & ", результат " & Keys.EditResult(i) Next MsgBox S End SubPython:
import zulu def Macro_Layer_ChangedElements(): # Берем активный слой карты L = zulu.App.ActiveMapDoc.Layers.Active # Объекты, затронутые последней правкой слоя Keys = L.ChangedElements if Keys.Count == 0: print("Слой еще не редактировался") return print("Затронуто объектов:", Keys.Count) for i in range(1, Keys.Count + 1): print("ID", Keys.Item(i))