忍者ブログ

ぼんぷろぐ

InDesign、イラレ、フォトショ(CS6 Win)の勉強中。。。(旧まとめいみブログ)

[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絵文字

プロフィール

あるふぁ(仮)
InDesignで新聞組版のようなことをしてる人です。

InDesignスクリプトについて

つくったInDesignスクリプトのまとめ

twitter

フリーエリア