Illustrator レイヤー名を連番にリネーム スクリプト


イラレのレイヤー名を連番(000.001.002...~099)にリネーム

79個ある大量のレイヤーネームを変更する。
イラレスクリプトはやった事無いけど、調べながら&昔作ったゼロパディングリネームも使いました。

コード

var doc = app.activeDocument; 
var numLay = doc.layers.length; // layer length

function zeropaddingNum(num,thisNum){
    var  zerocount = '';
    var toNum = String(num).length;
    for (var i = 0 ; i < toNum;  i++ ){
        zerocount  = zerocount+'0';
    }
    return (  String ( zerocount + String ( thisNum ) ). slice(- (toNum+1) )   );
}

function Rename(){
    for ( var i = 0 ; i < numLay ; i ++ ){
           doc.layers[i].name= zeropaddingNum(numLay,i);
    }
}

Rename();

ゼロパディングは以前にも記事を書いていますが、
レイヤー数が2桁なら0**
レイヤー数が3桁なら0***
と最大数の桁数の頭に0が付くようになっています。
こんな感じです。

気付いたこと

さすがに大量の変更を加えるので、アンドゥグループを使おうと思ったんですがエラー。
恐る恐るこのコードで実行してみると、AEみたいに、レイヤー1つ1つではなく
一括でやってくれているみたいです。
UNDOしたら全ての名前が元に戻ってくれます。

app.beginUndoGroup("undo");
app.endUndoGroup();

このメソッドは必要ないようです。