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

全オブジェクトの
ロックを解除する

Windows XP

Adobe Illustrator CS3

全オブジェクトのロックを解除する

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

ファイル内のオブジェクトのロックをすべて解除します。

非表示、ロックされているレイヤーの中のオブジェクトも処理します。レイヤーの表示状態は保持し、レイヤーはすべてロックします。オブジェクトの数が多いと処理が正しく行われない可能性があります。ご注意ください。

a002_AICS3_unlocked.zip(2.89KB)
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// AICS3_unlock_folder.jsx
// ファイル内のオブジェクトのロックをすべて解除します。
//
// 2011.05.10  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){
   mydocument = app.activeDocument;
   
   // レイヤーをカウントする。
   layercount = mydocument.layers.length;
   
   var visibleflag = [];
   
   // レイヤーの表示状態を記憶し、レイヤーの表示、ロック解除を行う。
   for( i=0; i<layercount; i++ ){
    mylayer = mydocument.layers[i];
    visibleflag[i] = mylayer.visible;
    mylayer.visible = true;
    mylayer.locked = false;
    }
   
   // テキストフレームをカウントする。
   for (n=0; n<mydocument.pageItems.length; n++){
    mydocument.pageItems[n].locked = false;
    }
   
   // レイヤーの表示状態を元に戻し、ロックする。
   for( m=0; m<layercount; m++){
    mylayer = mydocument.layers[m];
    if( visibleflag[m]  != true ){
     mylayer.visible = false;
    }
   }
  }
 options = new IllustratorSaveOptions();
 options.embedICCProfile=true;
 savefile = new File(folder.fsName+"/"+fileObj.name);
 mydocument.saveAs(savefile,options);
 activeDocument.close(SaveOptions.DONOTSAVECHANGES);
 }
}

alert("処理が完了しました。スクリプトを終了します。");
inserted by FC2 system