■JavaScriptとは?
JavaScriptとは何でしょう? Webサイトを作成した事がある人の中には聞き覚えのある名前ではないでしょうか。JavaScriptはユーザーの反応に応じてブラウザに対して命令を出していろいろな処理を行わせることができます。例えばボタンの上にマウスを乗せるとボタンの色が変わったりするのもJavaScriptの働きによるものです。また、FlashにもJavaScriptが搭載されておりActionScriptと呼ばれていますが文法や書き方など基本的な部分は全く同じです。
手軽で一番多く普及しているスクリプト言語がJavaScriptです。インターネット上で多く利用されているという理由もあり、Web上にも入門サイトが多数あります。多くの人が使える手軽なスクリプト言語とも言えます。(JavaScriptの機能をフル活用したGoogle Mapsなどのサイトもあります。)
が、誰に対して手軽かと言えば普段プログラム制作したりしている人から見て簡単なだけであって、そうでない人から見れば「英単語と数字の羅列」みたいなものでしかなく、意味不明とも言えます。日本語で作れたら楽だろうと思う人もいるかもしれません。確かに過去には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 2のデータブラウザを使って調べます。
最初のうちは、該当する命令がなければ、さっさとあきらめてしまうのが良いかもしれません。慣れないと時間ばかり消費してしまい、本業に響くからです。
また、Web上で利用されているJavaScriptとInDesign CS3でのJavaScriptは基本的な部分では同じですが、ブラウザ固有の部分、InDesign CS3固有の部分に関しては全く互換性がありません。このため、Web用のJavaScriptの入門書を買ってきても、最初のサンプルからして全く動かないという状態になります。また、InDesign CS3でのJavaScriptの書籍もなく、日本語での資料も少ないため、とっつきにくいという状態になっています。また、Photoshop CS2、Illustrator CS2とも基本的な部分を除いて異なっているため、敬遠してしまう人も多いでしょう。
以前のバージョンであるInDesign CS/CS2で作成されたスクリプトのほとんどは、そのまま動作します。ただし、InDesign CS3で作成したスクリプトをInDesign CS/CS2で動作させるには注意が必要です。CS3の新機能部分に関してはCSでは動かないからです。また、新機能以外でもスタイルの反映や不透明度などのメソッド、プロパティが変更になっているため、注意する必要があります。さらにCS4ではCS3のappオブジェクトにあったsvgExportPreferences、storyExportPreferencesなどが削除されています。CS4まで考慮する場合には、さらに注意が必要になります。