Возвращает коллекцию ThemeFilters фильтров тематических раскрасок слоя.
Visual Basic:
Property ThemeFilters As ThemeFilters
read-only
Фильтр описывает, по какому признаку раскрашивать объекты; по нему строится сама раскраска - методом CreateTheme, которому передают ID фильтра. Готовые раскраски слоя лежат в коллекции Themes.
Номер и ID связаны методами GetIdByIndex и GetIndexById, сам описатель дают GetItemByIndex и GetItemById. У описателя читается название - свойство UserName.
На несуществующий ID GetItemById возвращает не Nothing, а пустой описатель, поэтому ID лучше брать из самой коллекции.
Visual Basic:
Sub Layer_ThemeFilters 'Берем активный слой карты Set L = Zulu.ActiveMapDoc.Layers.Active Set TF = L.ThemeFilters S = "Фильтров раскраски: " & TF.Count 'Нумерация с нуля, ID у фильтра свой For i = 0 To TF.Count - 1 S = S & vbCrLf & "номер " & i & ": ID " & TF.GetIdByIndex(i) & ", " & TF.GetItemByIndex(i).UserName Next MsgBox S End SubPython:
import zulu def Macro_Layer_ThemeFilters(): # Берем активный слой карты L = zulu.App.ActiveMapDoc.Layers.Active tf = L.ThemeFilters print("Фильтров раскраски:", tf.Count) # Нумерация с нуля, ID у фильтра свой for i in range(tf.Count): print("номер", i, ": ID", tf.GetIdByIndex(i), ",", tf.GetItemByIndex(i).UserName)