複数のレイヤーを1つに結合するJS

Illustrator【イラレ】Javascript
この記事は約2分で読めます。

1.新規レイヤーを追加する。
2.レイヤーの総数を取得する。
3.for〜文でレイヤー総数マイナス1(新規レイヤー分)をループで複製させる。
4.複製が終わったレイヤー[1]をremoveで削除していく。

//レイヤーを結合統合する
var actDoc = app.activeDocument;
var actLayers = actDoc.layers;

//新規レイヤーを作成
var integLayer = actDoc.layers.add();

//新規レイヤー名の設定
 integLayer.name = actDoc.name.replace('.ai', '');

var lay_kazu=actLayers.length;

//alert(lay_kazu);
	//選択したファイルが1レイヤーではないから1レイヤーに統合する
for (p = 1; p <=lay_kazu-1; p++){
    actLayers[1].locked = false;

    for (var l = 0; l < actLayers[1].pageItems.length; l++) {
        var moveObj = actLayers[1].pageItems[l].duplicate();
        moveObj.move(integLayer, ElementPlacement.PLACEATEND);
    }

    actLayers[1].remove();
        }