InDesignのlayerについてのサンプルコード

 github: 04_layer.py

from appscript import *


indd = app("Adobe InDesign CC 2019")
doc = indd.make(new=k.document)

# レイヤ名を変更
doc.layers[1].name.set("Layer 1")

# 新しいレイヤを4つ追加
for i in range(2, 6):
    doc.make(new=k.layer, with_properties={k.name: f"Layer {i}"})

# 全レイヤオブジェクトのリスト
layers = doc.layers()

# レイヤの総数
print(f"count of layers: {len(layers)}")  # 5

# 1,3,5番目をロック、2,4番目を隠す
for i, layer in enumerate(layers):
    if (i + 1) in (1, 3, 5):
        layer.locked.set(True)
    elif (i + 1) in (2, 4):
        layer.visible.set(False)

# レイヤをコピー
new_layer = layers[0].duplicate()
new_layer.name.set("new_layer")

# ロック解除
new_layer.locked.set(False)

# activateレイヤを指定
doc.active_layer.set(new_layer)

# レイヤを移動
target_layer = doc.layers["Layer 3"]
new_layer.move(to=target_layer.after)  # target_layerの下へ移動:after
new_layer.move(to=target_layer.before)  # target_layerの上へ移動:before

# 該当レイヤを一番下へ移動(下記数行は全く同じ!):end
# synax: a_layer.move(to=any_layer.end)
new_layer.move(to=layers[0].end)  # index: 0~len(layers) or -1~-(len)
# new_layer.move(to=layers[1].end)
# new_layer.move(to=layers[-1].end)
# new_layer.move(to=target_layer.end)

# 該当レイヤを一番上へ移動:beginning
# synax: a_layer.move(to=any_layer.beginning)
new_layer.move(to=layers[0].beginning)