■JavaScriptとは?
JavaScriptとは何でしょう? Webサイトを作成した事がある人の中には聞き覚えのある名前ではないでしょうか。JavaScriptはユーザーの反応に応じてブラウザに対して命令を出していろいろな処理を行わせることができます。例えばボタンの上にマウスを乗せるとボタンの色が変わったりするのもJavaScriptの働きによるものです。また、FlashにもJavaScriptが搭載されておりActionScriptと呼ばれていますが文法や書き方など基本的な部分は全く同じです。
手軽で一番多く普及しているスクリプト言語がJavaScriptです。インターネット上で多く利用されているという理由もあり、Web上にも入門サイトが多数あります。多くの人が使える手軽なスクリプト言語とも言えます。しかし、誰に対して手軽かと言えば普段プログラム制作したりしている人から見て簡単なだけであって、そうでない人から見れば「英単語と数字の羅列」みたいなものでしかなく、意味不明とも言えます。日本語で作れたら楽だろうと思う人もいるかもしれません。確かに過去にはMindやAppleScript、ひまわり*1、なでしこ*2などは日本語でプログラムを作成することができます。結果的に言えば英語で作っても日本語で作っても、根本的には変わりなく「実現すべきことを、どういう手順で行うか」が非常に重要なだけです。この手順のことをアルゴリズムやロジックなどと呼びます。
初心者が、なかなかうまくプログラムを作れないのはプログラム言語が英語だから、ということではなくて手順が分からないためです。これは、たくさんのプログラムを作成することで身に付いていきます。つまり、いろいろなことができるようになるまでには時間がかかるということです。入門書などに一週間で身に付くとか、すぐに分かるとか書いてあるものがありますが、それは簡単なものならという条件付きです。プログラマという専門職があるくらいですから、一週間や一ヶ月そこそこで実務レベルにまで持って行くのは無理があります。
また、初心者特有の勘違いとしては「全ての命令を覚えないとプログラムは作れない」というのもあります。これも間違いです。全ての命令を覚える必要はありません。その変わり、使える命令を列記した「リファレンス」があると便利です。InDesign CS2ではCD-ROMの中にPDFとして収録されていましたが、InDesign CS3以降付属しなくなりました。このため、「http://www.adobe.com/products/indesign/pdfs/InDesign_Scripting_Reference.pdf」からCS2ベースのリファレンスを入手するか、Extend Script Toolkit CCのデータブラウザを使って調べます。あとはCS6のScripting Guideは以下のページにあります。
InDesign ScriptingGuide.pdf
最初のうちは、該当する命令がなければ、さっさとあきらめてしまうのが良いかもしれません。慣れないと時間ばかり消費してしまい、本業に響くからです。
また、Web上で利用されているJavaScriptとInDesign CCでのJavaScriptは基本的な部分では同じですが、ブラウザ固有の部分、InDesign CC固有の部分に関しては全く互換性がありません。このため、Web用のJavaScriptの入門書を買ってきても、最初のサンプルからして全く動かないという状態になります。また、Photoshop CC、Illustrator CCとも基本的な部分を除いて異なっているため、敬遠してしまう人も多いでしょう。
以前のバージョンであるInDesign CS6で作成されたスクリプトのほとんどは、そのまま動作します。CS〜CS5で作成されたものに関してはオブジェクトやメソッドが異なるため修正しないと動作しないことがあります。