5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Posted at

イラレのレイヤー名を連番(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が付くようになっています。
こんな感じです。

bandicam-2019-05-15-13-03-20-586.jpg

気付いたこと

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

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

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

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?