それでは簡単なプログラムでInDesignを制御してみましょう。まず、ESTK (Extend Script Toolkit) CCを起動します。準備ができたら以下のように入力してください。
alert(123);
入力が終わったら保存します。ここでは
sample1.jsx
として保存します。拡張子は自動的に.jsxになります。
保存したらInDesignの入っているフォルダを開いてください。そのフォルダ内にScriptsフォルダがあります。さらにScriptsフォルダをダブルクリックすると、いくつかのフォルダが表示されます。フォルダにScripts Panelというフォルダがありますので、その中に保存したファイルを入れます。もしくは、最初からこのフォルダに保存しても構いません。(ESTK CCから実行することもできますが、これはここでは説明しません)
このようにしないとInDesignでスクリプトを呼び出して利用することができません。また、InDesignを起動している場合でも追加したり入れ替え、削除ができます。
これで準備ができたのでInDesignを起動しましょう。起動したらスクリプトパレットに表示されているsample1.jsxをダブルクリックしましょう。すると画面上に警告ダイアログが表示され、そこに123と数字が表示されます。先ほど作成したプログラムのalert(123);の123の数字を変えて再度実行してみてください。設定した数字が表示されるはずです。
これでInDesignからJavaScriptを実行させる最初の段階を越えました。あとは、プログラムを作成して試行錯誤していく事になります。
もう少し先に進みましょう。さきほどは数字を表示させましたが、文字列も表示させることができます。以下のように入力し、先ほどと同様に保存しInDesignから実行してみてください。
alert("InDesign");
警告ダイアログにInDesignという文字が表示されたはずです。文字列を表示する場合には"と"で表示させたい文字を囲みます。日本語も表示させることができます。
alert("日本語です");
日本語を表示させる場合には文字コードが問題になる場合があります。InDesign CSではスクリプトファイルの文字コードはUnicode (UCS-2)にする必要がありましたが、InDesign CS3以降ではUnicode, UTF8, SHIFT JISのいずれでも動作します(EUC, JISコードはサポートしていません)。
それでは次に簡単な足し算を行ってみましょう。JavaScriptでは多くの演算記号がありますが、まずは足し算を行わせます。以下のプログラムを入力し実行させてください。
alert(12+34);
警告ダイアログには46と表示されるはずです。これは12と34を足した結果が表示されています。JavaScriptでは値を足したい場合には+記号を使います。これは小学校で勉強した四則演算の記号と全く同じです。整数値だけでなく小数値も計算できますし、複数の足し算もできます。
alert(2.5+4+1.5);
ただし、小数値の計算を行わせると若干の演算誤差が発生します。どうしても期待通りの数値にならない場合は演算誤差が発生している可能性があります。
足し算以外に引き算や、掛け算、割り算も計算できます。それぞれ以下のように対応しています。
処理 算数の計算記号 JavaScriptでの計算記号
足し算 + +
引き算 - -
掛け算 × *
割り算 ÷ /
例えば2×4は
alert(2*4);
のように書きます。12/6であれば
alert(12/6);
となります。足し算や掛け算が混ざっている場合には掛け算、割り算が優先され、その後に足し算、引き算が行われます。これは小学校で習った算数と全く同じです。
場合によっては計算の順序を変えたい場合があります。このような場合は()を使って先に計算させたいところを囲みます。例えば
alert((1+2)*3);
とすると1+2が先に計算されてから3との掛け算が行われます(結果は9)。
計算ばかりしていては面白くないでしょうから、次はInDesignで新規にドキュメントを開くプログラムを作成してみましょう。