読者です 読者をやめる 読者になる 読者になる

とあるDTPオペレーターのInDesignスクリプト備忘録

DTPオペレーターのInDesign用スクリプトのメモ。

スクリプトの勉強をするにあたり、あるといいモノ

スクリプト習得において、必要と思われるものを書いていきます。★は重要度です。
なお、ここでいうスクリプトは特にことわりがない場合「ExtendScript」を指します。
また、Adobeスクリプトの命令文の集合体は「オブジェクトモデル」とか呼ばれますが、InDesignでも普通に「オブジェクト」という言葉を使うので、混乱しないようにここでは「命令」とか「命令文」と記述します。オブジェクトとかプロパティとか、スクリプト側とInDesign側とで用語を共用しているのは結構初心者泣かせじゃないですか?
そう思うのは私だけですか…そうですか…

1 ESTK(★★★★★)
ESTKとは、Adobeスクリプトエディタです。
どんなソフトでも文字さえ打てればスクリプト作成はできますが、やはりAdobe用のスクリプトAdobeの用意したエディタで作った方が楽です。
エラーを教えてくれたり、スクリプト内部の動きが見られたり、エディタ上からスクリプト実行や停止が出来たりと、やはり専用エディタならではの便利さがあります。
最初のうちは用意された機能の用途も分からないかもしれませんが、文字が勝手に色付けされるだけでもそれっぽい気分になれるはずです(笑)

2 本
Adobeスクリプトの本はあまりありません。全てを網羅した本は皆無です。それでも以下の2冊は基本を学ぶのにとても役立ちました。
① スッキリわかるJava入門(★★★☆☆)
これはAdobe用ではなく、完全なJavaスクリプトの本です。AdobeスクリプトExtendScriptはほぼJavaなので、私のように完全なゼロの状態からスクリプトを学ぶためにはこうした本が必須でした。
本書はプログラム初心者にもとてもわかり易く、のちの勉強に大いに役立ちました。ただし、後半はAdobeスクリプトの勉強にはあまり関係ないかもしれません。

② ESTK基本編(★★★★☆)
 エディタの入門書のようなタイトルですが、内容的にはスクリプトの書き方の基礎が網羅されています。実用的な例文も豊富に用意されているので、カスタマイズすればそのまま使えるようなものもあるかもしれません。たとえば「フォルダ内のInDesignファイルをサブフォルダまで探し、全て開く」という処理は多くのスクリプトで役立つことでしょう。

本はなくても、ネットで調べられるという人はなんとかなると思います。特に①の本は似たような本を身近な人から借りれば充分かもしれません。

3 インターネット環境(★★★★☆)
入門書が少ないのに対し、スクリプトの説明や実用的なスクリプトを掲載したサイトはたくさんあります。スクリプトをある程度習得している人は、いますぐ私のサイトを閉じてそちらに行くべきかもしれません(笑)。
最初のうちは「ネットで見つけたスクリプトを改造して使う」という目的でそれらのサイトを見に行くと思いますが、ある程度書けるようになると、「この処理の書き方は?」とか「このオブジェクトモデル(命令文とかです)の正しい使い方は?」といった「ヒント」や「確認」の意図で見に行くことが増えると思います。また、あまり使っている人のいないような命令文を使う場合、探し方にちょっとしたコツがあるので、そのコツについてもいずれ紹介したいと思います。

4 必要に迫られているという状況(★★★★★)
急に精神論的な話になってごめんなさい。「人手が足りない、仕事が多すぎる、作業が大変すぎるetc…」
ともあれ「スクリプトを覚えなきゃ!」という状況に立たされているというのはとても大事です。
人間、「役立つ場面の分からない技術」「必要のない道具」の使い方を学ぶというのは難しいものです。
活用する予定の全くない外国語を学ぶのって身が入らないですよね。スクリプトも同じです。

5 英語力(★☆☆☆☆)
英語力のない私が言うのもなんですが、英語が堪能な方はスクリプト習得において有利だと思います。スクリプト自体が簡単な英語で構築されているので、英語が詳しければそれぞれの命令文が何をするためのものなのかなんとなく分かると思いますし、海外のサイトを参考にすることも出来ちゃいます。海外のInDesignユーザーの方が、マニアックな命令文をよく使っている気がします。

6 プログラム的な考え方(★★★★☆)
初心者が書いたスクリプトがうまく動かない理由のほとんどは、「プログラム的な書き方をされていないから」だと思います。人間に「これやって」と頼む感覚に近いんですね。
たとえば塗りがC100のフレームを消させる場合、初心者はド直球に「塗りがC100のフレームを探して」という書き方をしようとしますが、スクリプトで書く場合は「フレームを片っ端から調べて。そんでそれが塗りC100だったらアレして」という書き方になります。また、プログラム的な考え方が出来るようになると、「エラーやバグが出ないような書き方」に留意できるようになると思います。

7 ひらめき・発想(★★★★★)
スクリプトを書くためにはたくさんの命令文や構文を知らないといけないんだろうなあ」というのは初心者をスクリプトから遠ざける一因だと思います。
実際は命令文をほとんど知らなくても、ひらめきと発想があれば最小限の知識で大掛かりな処理をするスクリプトが書けたりしちゃいます。
「これをこうしてこうすればこういう処理ができそう」とひらめくことは何より大事です。

8 InDesignの知識(★★★☆☆)
InDesignの経験がほぼないのにものすごく有益なスクリプトを作ってしまうSEさんを知っていますが、InDesignを熟知しているというのは、InDesignスクリプトの作成においてとても助けになります。「手作業ならこの機能とこの機能で出来る」という頭があれば、あとはその機能をスクリプトで呼び出す方法を調べればいいわけですから。
InDesign経験がないのに(プログラマの人は本当にすごい)スクリプトを書いてしまえる人は、「プログラムの下地が段違い」「調べる能力が優れている」「理解する能力が優れている」という、元々のスペックがものすごく優秀なんだと思います。


次回は基本的な命令にプログラム的な指示のし方をからめつつ、あれこれ書いてみようと思います。