[InDesignスクリプト]特定のレイヤー上のオブジェクトのみ処理対象にしたいの巻
一年前にスクリプトの勉強を始めた頃に、いきなりつまづいた部分を書いてみる。
for使ったりif使ったりしてみるもうまく行かず……答えは至ってシンプルだった。
itemByNameでレイヤーさえ指定してしまえばこっちのもん。
同じ場所でつまづくかもしれない、未来の初心者のために。
※「レイヤー 2」という名前のレイヤーがないとうまく動かないので注意。
var myDoc = app.activeDocument; //アクティブなドキュメントが対象 ////////////処理したいレイヤー名を代入。以降変数名でレイヤー指定ができて楽。 var targetLay = myDoc.layers.itemByName ("レイヤー 2"); //ターゲットレイヤーを変えたい場合はここを変える。 for (var i=0; i<targetLay.allPageItems.length; i++) { //ここにこんな風に処理を書けば指定したレイヤー上のオブジェクトのみ対象になる。 targetLay.allPageItems[i].select (SelectionOptions.addTo)//選択でもしてみる }