Windows XP
Adobe Illustrator CS3
レイヤー毎にIllustrator形式(.ai)で別名保存します。非表示レイヤーは削除されません。非表示レイヤーを削除したい場合は、このスクリプトの実行後「非表示レイヤーを削除する」スクリプトを実行してください。
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // AICS3_savelayersasAI_folder.jsx // レイヤー毎にIllustrator形式で別名保存する(非表示レイヤーは削除しない) // // 2011.05.24 ver.1.0 // // System requirements : Adobe Illustrator CS3 13.0.3 Windows XP SP3 // Copyright(c) 2011 Kuro // http://www3.ocn.ne.jp/~art_mac/ // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ var folderObj = Folder.selectDialog("Illustratorファイルの入っているフォルダを選択してください"); var folder = Folder.selectDialog("保存するフォルダを選択してください"); if (folderObj != null){ fileList = new Array; fileList = folderObj.getFiles("*.ai"); for (f = 0 ; f <= fileList.length-1 ; f++){ var fileObj = new File(fileList[f]); open(fileObj); flag = fileObj.open(); if (flag == true){ var mydocument = app.activeDocument; var layercount = mydocument.layers.length; for(i=0; i<layercount; ++i){ // すべてのレイヤーを非表示にする。 for(j=0; j<layercount; ++j){ var layerobj_a = mydocument.layers[j]; layerobj_a.visible = false; } // ひとつのレイヤーだけ表示する。 var layerobj_b = mydocument.layers[i]; layerobj_b.visible = true; // 保存する。 namecount = (fileObj.name).lastIndexOf("."); // fileObj.nameの値で"."の位置を取得 fname = (fileObj.name).substr(0, namecount); var options = new IllustratorSaveOptions(); options.embedICCProfile=true; var savefile = new File(folder.fsName+"/"+fname+"_"+layerobj_b.name+".ai"); mydocument.saveAs(savefile,options); } } activeDocument.close(SaveOptions.DONOTSAVECHANGES); } } alert("処理が完了しました。スクリプトを終了します。");