ElementKeys property (Layer)

Возвращает список всех ключей (ID) элементов слоя в форме коллекции ElementKeys.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property ElementKeys As ElementKeys

read-only

Описание:

Список ключей в возвращаемой коллекции не сортирован.

Ключи нумеруются с единицы: Item(1) — первый ключ, Item(Count) — последний, обращение за пределы диапазона завершается исключением. У слоя без объектов Count равен 0.

Каждое обращение к свойству возвращает отдельную коллекцию — снимок ключей на момент обращения. Полученная раньше коллекция не меняется: после добавления или удаления объекта в ней остаётся прежнее число ключей, а новое их число показывает новое обращение к свойству.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

Слой не открыт. Операция проводится со слоем, который либо не загружен в карту, либо не открыт с помощью метода Open.

Пример:

Visual Basic:

Sub Layer_ElementKeys
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
'Получаем коллекцию ключей слоя
Set Keys = L.ElementKeys
S = "Ключей в слое: " & Keys.Count
'Показываем первые пять
For i = 1 To 5
  If i > Keys.Count Then Exit For
  S = S & vbCrLf & "Item(" & i & ") = " & Keys.Item(i)
Next
MsgBox S
End Sub

Python:

import zulu

def Macro_Layer_ElementKeys():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    # Получаем коллекцию ключей слоя
    Keys = L.ElementKeys
    print("Ключей в слое:", Keys.Count)
    # Показываем первые пять
    for i in range(1, min(5, Keys.Count) + 1):
        print("Item(", i, ") =", Keys.Item(i))