Возвращает/устанавливает для слоя, загруженного в карту, признак вывода его на печать.
Visual Basic:
Property Printable As Boolean
True - слой выводится при печати на карту.
Свойство отвечает только за печать: показ слоя на экране включает и выключает Visible. У слоя, только что загруженного в карту, оно равно True; читается оно и у слоя, открытого методом Open вне карты - исключения при этом не возникает.
В случае неудачи возникает исключение с одним из следующих кодов:
Код
Описание
513
Слой не открыт. Операция проводится со слоем, который либо не загружен в карту, либо не открыт с помощью метода Open.
Пример показывает, какие слои карты попадут на печать, и возвращает все как было.
Visual Basic:
Sub Layer_Printable 'Берем карту целиком Set M = Zulu.ActiveMapDoc S = "" For i = 1 To M.Layers.Count Set L = M.Layers.Item(i) S = S & L.UserName & ": на печать " & L.Printable & ", на экране " & L.Visible & vbCrLf Next 'Убираем активный слой из печати и возвращаем обратно Set A = M.Layers.Active Prev = A.Printable A.Printable = False S = S & vbCrLf & "после выключения: " & A.Printable A.Printable = Prev S = S & vbCrLf & "вернули: " & A.Printable MsgBox S End SubPython:
import zulu def Macro_Layer_Printable(): # Берем карту целиком M = zulu.App.ActiveMapDoc for i in range(1, M.Layers.Count + 1): L = M.Layers.Item(i) print(L.UserName, ": на печать", L.Printable, ", на экране", L.Visible) # Убираем активный слой из печати и возвращаем обратно a = M.Layers.Active prev = a.Printable a.Printable = False print("после выключения:", a.Printable) a.Printable = prev print("вернули:", a.Printable)