DTPab

DTPにまつわるあれこれ

ESTKの使い方をおさらいしてみる

と思ったんだけど、個別具体的な使い方を偉大な先輩諸氏がまとめてくださっているので、それをまとめてみることにしました。何はともあれ、デバッグのしかたを覚えないことには。

ということでまずは、「車車車く本牛勿 -Rollin' Real-」様より
こちらの記事です。ESTKを使ったデバッグについては、いくつか見た中でもっとも的確でわかりやすいと思います。

ExtendScriptToolKitデバッグの手引き(ごっこ) / 車車車く本牛勿 -Rollin' Real-

実は、AJABON先生にはESTKを直接ご指導いただいたことがあり(その節はありがとうございました)、お陰様でこうしてESTKで遊ぶ毎日を過ごしているのです。手とり足取りうどんこ取り(?)教えてもらいました。

だいたいESTKの使い方で検索すると先輩方のサイトがポツポツ現れるのですが、情報がそこそこ古いため最近のDOM(ドキュメントオブジェクトモデル)については情報不足になります。そこで今度は「ぼんぷろぐ」様より
こちらの記事。

sysys.blog.shinobi.jp

特に「app.doscriptでアンドゥモードが指定できるようになった(CS4から)」と「app.scriptPreferences.measurementUnitでスクリプト内で使う長さの単位が決められるようになった(CS5から)」の2件には衝撃を受けました。ただし、isValidについては補足があります。

sysys.blog.shinobi.jp

ご本人がTweetされていらっしゃいますが、どうもきな臭い動作をするようです。isValidメソッドを利用する場合は、よくよく確認されるよう。

最後に、#ディレクティブ関連。これも知っておかないといけません。ということで「chalcedonyの外部記憶装置・出張版」様より
こちらの記事です。

d.hatena.ne.jp

#targetや#targetengine、とっても大事なので。ここテストに出ます、どころか、もはや毎日の挨拶レベルです。呼吸するように使ってください。

以上、ESTKのおさらいでした。

おっと、ひとつ忘れていました。
InDesign CS4から3重クォートが使えるようになっています。どういうものかというと、文字列を以下のように扱えるようになります(はてなさんのシンタックスハイライトでは不十分のようですので、ESTKでお試しください)。

var txt = """
あいう
えおか
きくけ
""";
alert(txt);

どうです? 改行を含んでテキストを記述できるようになります。結構便利ですよね。
手元で試したところ、app.scriptPreferences.versionを例えば5.0(要するにCS3のバージョン)に下げても使えるので、ESTKの仕様というよりECMAScriptとか、そのあたりを参照すべきなのかもしれません。
余談ですが、この3重クォートはPythonを学ぶ中で知ったもので、使えたら便利なのになーって思って入力したらシンタックスハイライトが当たってびっくりしたのでした。