■簡単なプログラムでInDesign CSを制御する

 それでは簡単なプログラムでInDesign CSを制御してみましょう。まず、Windowsであればメモ帳(NOTEPAD.EXE)、MacOS Xならばテキストエディットを起動します。テキストエディットの場合には最初にファイルメニューから環境設定を選択し、標準テキストを選択しておく必要があります。
 それでは準備ができたら以下のように入力してください。

alert(123);

 入力が終わったら保存します。この時に重要なのが拡張子です。ファイル名の最後に付くのが拡張子です。.jsを付けて保存する必要があります。ここでは

sample1.js

として保存します。拡張子が.jsになっていないとInDesign CSから選択し実行することができません。
保存したらInDesign CSの入っているフォルダを開いてください。Presetsというフォルダがあります(場合によってはプリセットになっているかもしれません)。Presetsフォルダを開きます。Scriptsフォルダ(場合によってはスクリプトになっているかもしれません)に、今作成したスクリプトのファイルを入れます。このようにしないとInDesign CSでスクリプトを呼び出して利用することができません。また、InDesign CSを起動している場合でも追加したり入れ替え、削除ができます。ただし、この場合には一度スクリプトパレットを再表示しないと内容が書き変わらないことがあります。
 これで準備ができたのでInDesign CSを起動しましょう。起動したらスクリプトパレットに表示されているsample1.jsをダブルクリックしましょう。すると画面上に警告ダイアログが表示され、そこに123と数字が表示されます。先ほど作成したプログラムのalert(123);の123の数字を変えて再度実行してみてください。設定した数字が表示されるはずです。

 これでInDesign CSからJavaScriptを実行させる最初の段階を越えました。あとは、プログラムを作成して試行錯誤していく事になります。

 もう少し先に進みましょう。さきほどは数字を表示させましたが、文字列も表示させることができます。以下のように入力し、先ほどと同様に保存しInDesign CSから実行してみてください。

alert("InDesign CS");

 警告ダイアログにInDesign CSという文字が表示されたはずです。文字列を表示する場合には"と"で表示させたい文字を囲みます。日本語も表示させることができます。

alert("日本語です");

 日本語を表示させる場合には文字コードが問題になる場合があります。基本的に実行するスクリプトファイルの文字コードはUnicode (UCS-2)にします。これは普段使われている日本語文字コードであるSHIFT JISやUnicodeのUTF-8とは異なるので注意が必要です。MacOS XではJEDITなどが対応しています。

 それでは次に簡単な足し算を行ってみましょう。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 CSで新規にドキュメントを開くプログラムを作成してみましょう。