毎日のDTPを少しだけ便利にする道具たち。同じ作業の繰り返しやルーチンワーク。本当はPCの方が得意な仕事って、意外とたくさんある。スクリプトなど簡単なツールで、毎日をちょっと便利にしていこう。
JavaScript for Adobe Illustrator

レイヤー毎にIllustrator形式で
別名保存する。
(非表示レイヤーは削除しない)

Windows XP

Adobe Illustrator CS3

レイヤー毎にIllustrator形式
で別名保存する。
(非表示レイヤーは削除しない)

更新日:2011年5月24日(火)
制作環境:Windows XP・Adobe Illustrator CS3

レイヤー毎にIllustrator形式(.ai)で別名保存します。非表示レイヤーは削除されません。非表示レイヤーを削除したい場合は、このスクリプトの実行後「非表示レイヤーを削除する」スクリプトを実行してください。

a009_AICS3_savelayersasAI.zip(2.18KB)
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// 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("処理が完了しました。スクリプトを終了します。");
inserted by FC2 system