Я для себя сделал следующую функцию:
Public Function LayersUsedPropsRead(LayersUsedProps())
'цель: чтение свойств всех слоев. Полезно при изменении свойств слоев, а затем их восстановлении.
'пример применения:
'Dim LayersUsedProps()
'Call LayersUsedPropsRead(LayersUsedProps())'чтение свойств всех слоев
Dim n%: n = ThisDrawing.Layers.Count
ReDim LayersUsedProps(0 To 7, 1 To n)
Dim layerObj As AcadLayer
Dim i%: i = 0
For Each layerObj In ThisDrawing.Layers
i = i + 1
LayersUsedProps(0, i) = layerObj.Name
If layerObj.LayerOn Then LayersUsedProps(1, i) = True
If layerObj.Lock Then LayersUsedProps(2, i) = True
If layerObj.Freeze Then LayersUsedProps(3, i) = True
If layerObj.Plottable Then LayersUsedProps(4, i) = True
LayersUsedProps(5, i) = layerObj.linetype
LayersUsedProps(6, i) = layerObj.Lineweight
LayersUsedProps(7, i) = layerObj.color 'В дальнейшем добавлять свойства по мере надобности
Next
End Function
Соотвественно, можно сделать функцию по изменению свойств.