アプリケーション/バージョンアップに伴う注意点

 JavaScriptはWebブラウザ(Internet ExplorerやSafari、Firefox、Opera、Google Chromeなど)でしか動作しないのではないかと思っている人も多いかもしれません。実際には、ブラウザ以外のアプリケーション制御用のスクリプト言語として普及してきています。Adobe製品に限らずMacromedia(2005年にAdobeと合併)の製品なども以前から対応しています。
 JavaScriptは文法は同じなので、一度身に付けてしまえば、アプリケーション独自のオブジェクト部分を覚えるだけですみます。基本的な部分は同じですが、アプリケーションによって扱えるオブジェクトが異なります。このため、Illustrator CS6で作成したスクリプトはPhotoshopやAfterEffects、InDesign、Premierer、Dreamweaver、Flash、Fireworksではエラーになってしまい動作しません。また、アプリケーションのバージョンアップに伴って以前のスクリプトが動作しなくなってしまうことがあります。
 Illustrator CCでもECMA Script (3rd Edition *1) にIllustrator CC独自のオブジェクトを追加し、各種処理/制御ができるようになっています。また、CS3以降ではAdobe Bridgeと連携させることができるようになりました。このため、Illustrator CCではできない処理もBridge CCを経由することで可能になるものもあります。例えば、Illustrator CCには手軽にFTP, HTTP処理を行う機能やソケット通信を行う機能がありませんが、Bridge Cを経由することでサーバー上にある画像データなどをダウンロードしてIllustrator CCで処理することができます。また、スクリプトでは面倒な処理はアクションで定義しておくことで、スクリプト制作の負荷を減らすことができます。
 Illustrator CCからはSVG書き出しのオプションが追加されたり、ワークスペースの指定が可能になっています。これらの機能を利用した場合、Illustrator CS6やCS5など以前のバージョンでは動作しなくなるので注意してください。

 これらの機能に関しては以下のサイトにあるマニュアルを参照するとよいでしょう。

Adobe Illustrator CC Scripting Reference
JavaScript Scripting Guide CC

*1 ECMAScriptはバージョン5がありますが、Adobe JavaScriptではバージョン5の全ての機能や命令を利用できません。constなど一部の機能のみ対応しています。