いつも訪問していただきありがとうごさいます。
- 空レイヤーを探す手間を軽減したい
- 大量の空レイヤーを一括で削除したい
- 入稿時に空レイヤーの消し忘れを防ぎたい
Illustratorを使用していると気づかないうちに空のレイヤーが大量に作成されていることがありますよね
これらの空レイヤーは、さまざまな理由で作成されますが、トラブルを防ぐ為にも削除したほうがいいでしょう。
そこでこの記事では、【レイヤーリストから空レイヤーを探して削除してくれる】スクリプトを紹介します。
スクリプトの動作フローと処理条件を理解するためのソースコードもアップするので、ぜひ参考にしてください。
Profile
この記事を書いている私は、DTPデザイナーとしてIllustratorの操作経験が15年以上あり、スクリプトも自分の業務で必要になったものを自ら作成し、デザイン作業の効率化を図っています。
最近では、当ブログでも自作スクリプトを公開しています。
このスクリプトを使用することでレイヤー管理の手間が軽減されますよ!
それではどうぞ
1.【空レイヤーを削除する】スクリプトの概要
ここでは、本スクリプトの概要を解説します。
まず、このスクリプト(スクリプト名: DeleteLayer.jsx)は、私がJavaScriptベースで自作したIllustrator用のスクリプトです。
スクリプトのポイント
本スクリプトのポイントは3つあります。
・空レイヤーを探す手間がなくなる
・空レイヤーが複数あっても一括で削除してくれる
・指定したフォルダ内のファイル全てに適用してくれる
スクリプトの入手方法
本スクリプトは、以下からサンプルとしてダウンロードすることができます。
ダウンロードと使用については「注意事項と免責事項」に記載していますので、必ずお読みください
ダウンロード:DeleteLayer.jsx
スクリプトの使い方
本スクリプトは、下記の4STEPで使うことができます。
- STEP1.ファイルメニューからスクリプトを選択
- STEP2.スクリプトを起動
- STEP3.aiファイルが入っているフォルダを選択
- STEP4.スクリプトの実行
なお、次の記事ではそもそもIllustratorスクリプトってどうやって使うのか、活用事例を交えて紹介しているので良ければ参考にしてください。
次のセクションでは、スクリプトのソースコードを公開します。
2.【空レイヤーを削除する】スクリプトのソースコード
ここからはスクリプトの動作フローと処理条件がわかるソースコードを紹介します。
説明用のコメントアウトも書いてありますので参考にしてください。
なお下記の記事では、Illustratorスクリプトを自作する方法についてソースコードの事例を交え解説しているのでよければ参考にしてください。
var inputFolder = Folder.selectDialog( "ファイルを開くフォルダを指定してください");
if(inputFolder){//フォルダが選択されたら
var fileList = inputFolder.getFiles("*.ai");// 選択フォルダ内の *.ai ファイルリストを取得
for(var i=0; i < fileList.length; i++){ //ファイルの総数だけ作業を繰り返す
var docRef = app.open(fileList[i]); //ファイルを開く
deleteLayer();//関数
docRef.close(SaveOptions.SAVECHANGES);// 変更があった場合は保存して閉じる
}
alert ("作業が完了しました");
};
function deleteLayer(){
var docObj = activeDocument;
var len = docObj.layers.length; //レイヤー数を数える
if(len === 1){ //レイヤーが1つなら
return; //処理の中止
};
for (var i = len - 1; i >= 0; i--){//レイヤーの数だけ繰返す
var d = docObj.layers[i];
var t = d.compoundPathItems.length + d.graphItems.length + d.groupItems.length + d.legacyTextItems.length + d.meshItems.length +
d.pathItems.length + d.placedItems.length + d.pluginItems.length + d.rasterItems.length + d.symbolItems.length + d.textFrames.length;
//オブジェクト・パス・テキスト・グループなどの数を数える
if( t === 0){ //tの数が0なら
d.locked = false; //レイヤーのロック解除
d.remove(); //レイヤー削除
}
}
}
3.注意事項と免責事項
本記事に記載してあるスクリプトを実行した結果生じるトラブルに関しては一切の責任を負いません。ご利用は自己責任にてお願いいたします。
またIllustratorのアップデートにより動作が変わってしまう可能性もあります。アップデートによる動作の不具合に関しては、対処しかねるので予めご理解ください。
最後に本記事で配布しているスクリプトを無断で転送・販売・配布することは禁止いたします。
動作チェックは
・IllustratorCS6【Win】
・Illustrator2024【mac】
で、おこなっています。
4.【空レイヤーを削除する】スクリプトのまとめ
今回は、【レイヤーリストから空レイヤーを探して削除してくれる】スクリプトをポイントを交えながら紹介しました。
ポイントをおさらいすると
・空レイヤーを探す手間がなくなる
・空レイヤーが複数あっても一括で削除してくれる
・指定したフォルダ内のファイル全てに適用してくれる
レイヤーを管理することでIllustratorでの作業がスムーズにおこなえますので、ぜひこのスクリプトを活用していただければと思います。
なお、Illustratorスクリプトについて学んでみたいと思った方は、次の記事でおすすめの書籍とWEBサイトについて紹介しているので良ければ参考にしてください。
というわけで今回は以上です。
『スクリプトで楽々!Illustratorの空レイヤーを瞬時に削除するテクニック』を最後までお読みいただきありがとうございました。
Illustratorスクリプトのおすすめ書籍!
また、以下の記事で今回紹介した書籍以外にもスクリプトに関する書籍を紹介しているので参考にしてください。