【InDesign】「その他のスクリプト」っぽいスクリプト | Blue-Scre{7}n.net | よそいちのDTPメモ

トップページ » InDesign » 【InDesign】「その他のスクリプト」っぽいスクリプト

【InDesign】「その他のスクリプト」っぽいスクリプト

公開日:2017年9月13日 

 [スクリプト]パネルがいっぱいになってくると整理が面倒になるので、インスタントなものはその都度呼び出して使おう。ということで書きました。Illustratorでいうところの「その他のスクリプト…」です。

 [スクリプト]パネルでもローカルでも、フォルダ管理の手間はあまり大差ないですが、どっちで管理するのが楽かな…と天秤にかけた上で。

 最初は#includeや#includepathなどを使えばできるんじゃないかと企んだのですが、ダイアログで選択したスクリプトのパスを認識させるのがどうしてもできなくてハマりました…

スクリプト本文

var fileObj=File.openDialog("ファイルを指定してください","javascript:*.jsx");
if (fileObj){
    $.evalFile(decodeURI(fileObj))
  }

使い方

1.このスクリプトを[スクリプト]パネルで起動できるようにしておきます。キーボードショートカットはIllustratorオマージュで「Ctrl+F12(command+F12)」を。

 今回は「外部からスクリプトを読み込んで、スニペットとして書き出す」という操作をします。オブジェクトを選択して、「InDesignでもその他のスクリプト.jsx」を実行。

ショートカットはIllustratorオマージュ

2.ファイルを選択するダイアログが表示されます。この中から、「SOS.jsx」を選択します。

ダイアログから実行したいスクリプトを選ぶ

3.選択したオブジェクトに対し、「2.」で選んだスクリプトが実行されます。

 先代MacBook Pro(Early2011)の動作がいよいよ怪しくなってきたので、CC契約しました…InDesignでもインターフェイスくっきり。

参考サイト

JSXで外部JSXファイルを読み込む

複数スクリプトを動かす

var fileObj=File.openDialog("ファイルを指定してください","javascript:*.jsx",true);//最後のtrueでファイルの複数選択を許可
  for(var i=0; i < fileObj.length; i++)
  {
      $.evalFile(decodeURI(fileObj[i]));
  }

 こちらはダイアログで選択したスクリプトを順に動かすスクリプトです。一応動いてはくれますが、複数のスクリプトを一気に動かす際は#include#includepathを使用したほうが無難です。


タグ:


広告