>

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


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

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

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

スクリプト本文

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

使い方

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

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

ショートカットはIllustratorオマージュ
ショートカットは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を使用したほうが無難です。

               

広告

コメントする

★マークのある項目が必須項目です。メールアドレスは公開されません。

CAPTCHA


内容を確認して、送信してください(プレビューはされません)。コメント内では<strong>、<code>、<em>のタグが使えます。

こちらもいかが

新しい投稿

二次創作
まんぞくさん/村上先輩

過去の投稿

【InDesign】開いているドキュメントを全部(保存して)閉じるスクリプト
【InDesign】開いているドキュメントを全部(保存して)閉じるスクリプト