Как через VBA обратиться к конкретному слою на MasterPage

Версия программы: 
17.3.0.772

Интересует пример не на конкретном файле с именами этих слоёв , а вообще.
В свойствах таких слоев указано
Master Type
- Master
- Master (all pages)
- Master (odd pages)
- Master (even pages)
может индексы какие есть ...
ведь есть же счетчик

вот я и не пойму ... конструкция

For Each lyr In ActiveDocument.MasterPage.Layers
    
    With lyr
        .Editable = False
    End With
            On Error Resume Next
    Next
    MsgBox "All MasterLayer Editable False", vbInformation

успешно блокирует все odd/even - видимы они или не видимы ... но как только переходим к конкретному слою
не работает

Вот так заработало

Sub test2()
Dim l As Layer, namel As String, indexl As String
   
  For Each l In ActivePage.AllLayers
    If l.Master And l.IsSpecialLayer = False And l.Visible = False Then
    namel = l.Name
    
               On Error Resume Next
    MsgBox l.Name & " - " & l.Editable
    End If
  Next
    With ActivePage.Layers(namel)

        .Editable = False

    End With
End Sub

код можно еще немного улучшить: выйти из цикла через Exit For и обращаться к слою через переменную цикла L, например, l.Editable = false

такshark,

например, l.Editable = false

так у меня не работает - компилируется, ошибок нет, но и результата нет
наверное потому, что при выходе из For переменная l теряет значение

а средствами отладки пользуешься? Watches'ами (Наблюдатели) и Брекпоинтами, чтобы отслеживать пошаговое выполнение кода и изменение переменных. Если бы переменная потеряла значение, тогда была бы ошибка исполнения

Immediate и Msgbox ... до остальных не добрался :)

Страницы