連載[7-3] QuarkXPressスクリプティング入門
|
《 テキストの操作はtext boxクラスで
》
|
|
|
先生
|
おやおや、気が早いね。徹夜の代わりをしてくれるスクリプトを書くにはもう少し鍛練が必要じゃないかな? まぁ、それはおいおいということで、ここではもっといろいろなクラスを見て行くことにしよう。 オーソドックスにテキストといこうか。まずtext boxというクラスを見てみよう(図7) |
|
図7 QuarkXPressのtext boxクラス
![]() |
|
|
、
|
テキスト・ボックスですか、これはQuarkXPressの作業では欠かせません。テキストはテキスト・ボックスの中に流しこむんですからね。 |
|
先生
|
そうだろ。text boxクラスはまさにそのテキスト・ボックスなんだ。 これを操作する簡単なスクリプト(図8)を作ってみたんだが、ちょっと実行してごらん。 |
|
図8 QuarkXPressの文字の色を操作するスクリプト
(ただし日本語の1文字はCharacter2つになるので、注意が必要) ![]() |
|
|
、
|
あっ、文字の色が変わりましたね。 |
![]() |
|
|
」
|
なるほど、なるほど。僕も分かってきました。text boxの中に要素としてcharacterやparagraph、line、wordなどがありますよね。そしてもって、characterやwordなどのクラスはそれぞれcolorという属性があると…。 |
|
先生
|
この辺りは以前、EGWORDなんかで似たような例を紹介したから簡単だったかな。 じゃぁ次はpageクラスを見てみようか(図9) |
|
図9 QuarkXPressのpageクラス
![]() |
|
|
《 ページに余白があるからpageはmarginがあるはず
》
|
|
|
」
|
うーんと、属性のところで、marginというのはページの余白ですかね。 page numberというのはページ番号のことでしょう。 |
|
先生
|
さすが! QuarkXPressの書類ならば、ページごとにマージンが設定できるはずだし、もちろんページ番号だって管理されているはず、と推理しながら辞書を見てみると、ちゃんと、documentクラスの属性として定義されているんだね。辞書を見てこうした情報を自分で見つけ出せるようになれば、一人前だ。 |
|
」
|
見つけ出すのはそう簡単じゃないと思いますけど…。 |
|
、
|
あの〜、こうしたマージンとかはAppleScriptから値を設定することはできるんですか? |
|
先生
|
もちろん。setコマンドを使えばAppleScriptからこれらの値を変更できるよ。
tell application "QuarkXPress" |
|
」
|
これは右マージンを10mmに変更しているわけですね。 |
|
先生
|
そうだ。もちろん、QuarkXPressで扱える単位なら、例えばポイント(pt)で値を与えることもできるよ。 例えば 図10 はすべてのページの上下左右マージンを2ポイントずつ削るスクリプトだ。 |
|
、
|
属性をget/setすれば、手作業でやることはほとんどAppleScriptでできそうですね。 |
|
先生
|
辞書を見るのがイヤになるくらい、いろんなクラスがあるけど、それだけ十分にAppleScriptに対応してるってことだ。 |
|
図10 QuarkXPress書類のすべてのページ・マージンを一括して変更するスクリプト
![]() |
|
|
《 「××.eps」のファイル名で1ページずつEPS保存
》
|
|
|
先生
|
さぁ、では最後に書類を保存する「save」というコマンドの辞書を見てみよう。 |
![]() |
|
|
」
|
なにやら[]で囲まれたものばかり目につくんですが…。 |
|
先生
|
そう、これは省略してもよいという意味。必要な場合だけ記述するんだよ。実際にはオプション・パラメーターと呼ぶんだけどね。ここで気付いてほしいのは…。 |
|
、
|
あっ、EPSだ! |
|
先生
|
そっ、そうだね。EPSだ。画像ファイルに詳しくない人のために言っておくけどね、これは画像ファイルの保存形式の1つなんだ。入稿作業はやはりEPSフォーマットなんだね? |
|
、
|
あっ、はい。先生はDTPにも明るいんですか。 |
|
先生
|
ん〜んまぁ、一応原稿書きもやってるし、編集部にもちょくちょく出入りしているからね。それはさておき、まず次のスクリプトを見ていただこう。これは、1番目のdocumentの1ページ目をMac
ColorというEPSフォーマットで保存する、というものだ。このような指示ができるのはQuark特有のsaveコマンドだからなんだ。
tell application "QuarkXPress" to save |
|
、
|
あっ、ひらめいた!。repeat文ですべてのページについて繰り返せば、すべてのページを1つひとつEPSファイルに保存できますね。しかも一発で! |
|
先生
|
ずばり。今日はそこまで分かってもらえればもう優等生ですね。でも、まだなんのことか分からない人も多いかな? |
|
」
|
……… |
|
先生
|
よし、では今日は図11のスクリプトで締めよう。 これは、ページごとに「元ファイル名」「#ページ番号」「eps」という新しい名前で保存していくスクリプトだ。 |
|
図11 すべてのページをEPS形式で保存するスクリプト。
「(元ファイル名)(#ページ番号).eps」というファイルがページの数だけできる ![]() |
|
|
、
|
おぉぉ〜、何と、スクリプトを実行するだけで後は終わるのを待ってるだけ! 放っておいたら自動的にすべてのページのEPSファイルが出来上がる訳ですね。これなら何十ページもある書類でもラクチンですよね。 |
|
先生
|
これなんか結構簡単なスクリプトだから、あまりプログラミングに詳しくないデザイナーの人でもできそうだよね。 |
|
、
|
できそう、できそう。 |
![]() |
|
|
先生
|
まっ、とりあえず今日のQuarkXPressスクリプティング入門はこれでおしまいにしておこう。QuarkXPressのバージョン3.3JはAppleScript対応だから(3.1は未対応)、AppleScript標準装備の漢字Talk 7.5以降のOSなら誰でもスクリプティングを始められる。後は帰って復習だな。 |
|
、」
|
はいっ! |
AppleScript救急隊事務局(ASQs) info-asqs@fsight.co.jp