忍者ブログ

ぼんぷろぐ

InDesignとかイラレとかのスクリプトよもやま話

新しいブログに引っ越しました。

こちらのブログはもう更新しませんが、コメント欄は生きてますので疑問、ご指摘などありましたらどうぞ。

[InDesign]
ツイッターに書いた小ネタを振り返ってみる ExtendScript編

これESTKのインストールフォルダ内にあるjsxを眺めてて気づいたんですけど、JavaScript Tools Guideの23ページにもちゃんと書いてありました。
ScriptUIとかBridgeTalkに使うと便利そう。



少なくともCS6では、ScriptUIのListBoxはWindows8.1およびWindows10でまともに機能しません。ListBox使ったスクリプトを配布なさる方はご注意。



includeするファイル単体での文法チェックはされず、実行前に#includeの場所にファイル内容を展開した上で評価するという仕組みらしい。
スクリプトの冒頭に書く以外にも#includeの便利な使い方がありそう。たとえば関数内に#includeを書けば、ファイル内で定義してる変数を関数スコープ内のローカル変数として読み込める。



JavaScriptには『Functionコンストラクタで作った関数はクロージャにならない』という仕様があるそうなのですが、ExtendScriptではクロージャになってるという話。evalがあるのにあえてFunctionコンストラクタを使う場面なんてほぼ無いとは思いますけども。



これはExtendScript全般の話ではないんですが、InDesignとイラレ両方で起きることなのでここに書いときます。
実行中のスクリプトファイルのパスを取得する$.fileNameは、各アプリから実行したりESTKから実行した場合は正常に取得できるのですが、#target "アプリ名"を付けた上でjsxファイルのダブルクリックで実行すると、InDesignはBridgeTalkなんちゃら、イラレは謎の数字『3』になります。$.fileNameを使ってjsxと同一階層に置いてる設定ファイルなんかを参照しようとする場合は注意が必要です。
PR

コメント

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字

プロフィール

kawamoto_α
(あるふぁ(仮))


InDesignで新聞組版のようなことをしています。

ツイッタ

※ブラウザによっては当ブログからDLしたzipファイルが拡張子なしになることがあるようですが、.zipを補って開いてください。



イラレ用トーンカーブスクリプト(¥1500)



クロソイド式角丸長方形スクリプト(¥500)
Illustrator用
InDesign用



イラレスクリプトをキーボードショートカットで実行するやつ(Win用)