【InDesign】選択したオブジェクトをスニペットで書き出すスクリプト「SOS」 | Blue-Screeeeeeen.net―youichi7imazekiのDTPメモ―

トップページ » InDesign » 【InDesign】選択したオブジェクトをスニペットで書き出すスクリプト「SOS」

【InDesign】選択したオブジェクトをスニペットで書き出すスクリプト「SOS」

公開日:2017年8月4日 

 SOSを出すほど切迫した作業でもないですが、スニペットに書き出すのは「[書き出し]メニューから書き出す」「選択したオブジェクトをドラッグ&ドロップでInDesignの欄外に出す」など、1つのオブジェクトを扱うにしては地味に面倒です。このめんどくささを少しでも解消することを意図に作成したスクリプトです。


 ちなみに何が「SOS」なのかというと、このスクリプトを保存したときに付けた名前が「SelectObjectSnippet」だったからです。略して「SOS」。「ttt」でもいいかも。


スクリプト本文

//選択したオブジェクトをスニペットに
//スニペットは、開いているInDesignと同階層に保存されます。

//フォルダパス取得
var DocPath = app.activeDocument.filePath;

var count=app.activeDocument.selection.length;

for (var i=0; i<count; i++){
  var selobj = app.activeDocument.selection[i];

//オブジェクトのidを取得
  var ObjID=selobj.toSource();
  var ObjIDrev = ObjID.split("@id=").reverse().join("")//オブジェクトのSourceを区切る
    result = ObjIDrev.indexOf("]")//ID番号までの文字数を取得
  var Objname=ObjIDrev.substr(0,result)//ID番号を取得

  try{
    // 書き出しパス
    folderRef = new Folder (DocPath+"/"+"Snippet"+Objname+".idms");//保存するフォルダ(ファイルパスを指定)
    selobj.exportFile(1936617588,folderRef);
  }
  catch(e){
  alert("オブジェクトが選択されていません");
  }
}

alert(count+"個のスニペットが書き出されました");

タグ:


  • 最近の投稿

  • カテゴリー

  • 月別の記事

  • おことわり

     Adobe、InDesign、Illustrator、Photoshop、Acrobatは、Adobe Systems Incorporated(アドビシステムズ社)の米国および他の国における商標または登録商標です。本サイトでは、RおよびTMを省略しております。