Answered
【Javascript】レイヤーパネルの「新規サブレイヤーに集める」をスクリプトで出来ないか
お世話になります。
今までレイヤーパネルでレイヤーを選択して「新規サブレイヤーに集める」でやっていたことなのですが、かなり多用することに気づいたのでスクリプトでやりたいと思いました。
複数のレイヤーがある状態から、一番上のレイヤー以外を一つのレイヤーにサブレイヤーとして集めるということをしたいです。
var Doc = app.activeDocument;//アクティブドキュメント
var dmLayer = Doc.layers[0];//一番上のレイヤー
var newLayer = Doc.layers.add(); //新規レイヤー作成
newLayer.name = 'ここに集める'; //新規レイヤーの名前変更
newLayer.move(dmLayer, ElementPlacement.PLACEAFTER); //新規のレイヤーを一番上のレイヤーの下に移動
for (var i = Doc.layers.length - 1; i >= 0; i--) { //とりあえず移動してみた
var currentLayer = Doc.layers[i];
if (currentLayer !== dmLayer && currentLayer !== newLayer) {
currentLayer.move(newLayer, ElementPlacement.PLACEATEND);
}
}
これ以外の方法が分からなくてとりあえず移動してみましたが、これだと元々のレイヤーの順序が反転されてしまいます。
レイヤーの順番は元のデータのままで移動するにはどうしたらよいでしょうか?
レイヤーの移動じゃなくても、もっと簡単にスクリプトで実現できる方法があれば教えていただきたいです。
