title1
navigation bar3



[ 1 | 2 | 3 |4 |5 | 6 | 7-p1 | 7-p2 | 7-p3 | 8 | 9 | 10 | 11 | 12 ] [日経マック連載Index ]


連載[7-3] QuarkXPressスクリプティング入門



《 テキストの操作はtext boxクラスで 》
先生
おやおや、気が早いね。徹夜の代わりをしてくれるスクリプトを書くにはもう少し鍛練が必要じゃないかな?
まぁ、それはおいおいということで、ここではもっといろいろなクラスを見て行くことにしよう。
オーソドックスにテキストといこうか。まずtext boxというクラスを見てみよう(図7)
図7 QuarkXPressのtext boxクラス
図7QuarkXPressのtextboxクラス
テキスト・ボックスですか、これはQuarkXPressの作業では欠かせません。テキストはテキスト・ボックスの中に流しこむんですからね。
先生
そうだろ。text boxクラスはまさにそのテキスト・ボックスなんだ。
これを操作する簡単なスクリプト(図8)を作ってみたんだが、ちょっと実行してごらん。
図8 QuarkXPressの文字の色を操作するスクリプト
(ただし日本語の1文字はCharacter2つになるので、注意が必要)
図8QuarkXPressの文字の色を操作するスクリプト(ただし日本語の1文字はCharacter2つになるので、注意が必要)
あっ、文字の色が変わりましたね。
文字の色が変わった
なるほど、なるほど。僕も分かってきました。text boxの中に要素としてcharacterやparagraph、line、wordなどがありますよね。そしてもって、characterやwordなどのクラスはそれぞれcolorという属性があると…。
先生
この辺りは以前、EGWORDなんかで似たような例を紹介したから簡単だったかな。
じゃぁ次はpageクラスを見てみようか(図9)
図9 QuarkXPressのpageクラス
図9QuarkXPressのpageクラス
TOP

《 ページに余白があるからpageはmarginがあるはず 》
うーんと、属性のところで、marginというのはページの余白ですかね。
page numberというのはページ番号のことでしょう。

margin
先生
さすが! QuarkXPressの書類ならば、ページごとにマージンが設定できるはずだし、もちろんページ番号だって管理されているはず、と推理しながら辞書を見てみると、ちゃんと、documentクラスの属性として定義されているんだね。辞書を見てこうした情報を自分で見つけ出せるようになれば、一人前だ。
見つけ出すのはそう簡単じゃないと思いますけど…。
あの〜、こうしたマージンとかはAppleScriptから値を設定することはできるんですか?
先生
もちろん。setコマンドを使えばAppleScriptからこれらの値を変更できるよ。

 tell application "QuarkXPress"
  to set right margin of page 1 of document 1 to "10mm"

これは右マージンを10mmに変更しているわけですね。
先生
そうだ。もちろん、QuarkXPressで扱える単位なら、例えばポイント(pt)で値を与えることもできるよ。
例えば 図10 はすべてのページの上下左右マージンを2ポイントずつ削るスクリプトだ。
属性をget/setすれば、手作業でやることはほとんどAppleScriptでできそうですね。
先生
辞書を見るのがイヤになるくらい、いろんなクラスがあるけど、それだけ十分にAppleScriptに対応してるってことだ。
図10 QuarkXPress書類のすべてのページ・マージンを一括して変更するスクリプト 図10QuarkXPress書類のすべてのページ・マージンを一括して変更するスクリプト
TOP

《 「××.eps」のファイル名で1ページずつEPS保存 》
先生
さぁ、では最後に書類を保存する「save」というコマンドの辞書を見てみよう。
saveを辞書で見てみると
なにやら[]で囲まれたものばかり目につくんですが…。
先生
そう、これは省略してもよいという意味。必要な場合だけ記述するんだよ。実際にはオプション・パラメーターと呼ぶんだけどね。ここで気付いてほしいのは…。
あっ、EPSだ!

EPSformat
先生
そっ、そうだね。EPSだ。画像ファイルに詳しくない人のために言っておくけどね、これは画像ファイルの保存形式の1つなんだ。入稿作業はやはりEPSフォーマットなんだね?

あっ、はい。先生はDTPにも明るいんですか。

先生
ん〜んまぁ、一応原稿書きもやってるし、編集部にもちょくちょく出入りしているからね。それはさておき、まず次のスクリプトを見ていただこう。これは、1番目のdocumentの1ページ目をMac ColorというEPSフォーマットで保存する、というものだ。このような指示ができるのはQuark特有のsaveコマンドだからなんだ。

 tell application "QuarkXPress" to save
  page 1 of document 1 EPS format Mac Color

あっ、ひらめいた!。repeat文ですべてのページについて繰り返せば、すべてのページを1つひとつEPSファイルに保存できますね。しかも一発で!
先生
ずばり。今日はそこまで分かってもらえればもう優等生ですね。でも、まだなんのことか分からない人も多いかな?
………
先生
よし、では今日は図11のスクリプトで締めよう。
これは、ページごとに「元ファイル名」「#ページ番号」「eps」という新しい名前で保存していくスクリプトだ。
図11 すべてのページをEPS形式で保存するスクリプト。
「(元ファイル名)(#ページ番号).eps」というファイルがページの数だけできる
図11すべてのページをEPS形式で保存するスクリプト。「(元ファイル名)(#ページ番号).eps」というファイルがページの数だけできる
おぉぉ〜、何と、スクリプトを実行するだけで後は終わるのを待ってるだけ! 放っておいたら自動的にすべてのページのEPSファイルが出来上がる訳ですね。これなら何十ページもある書類でもラクチンですよね。
先生
これなんか結構簡単なスクリプトだから、あまりプログラミングに詳しくないデザイナーの人でもできそうだよね。
できそう、できそう。
EPSfiles
先生
まっ、とりあえず今日のQuarkXPressスクリプティング入門はこれでおしまいにしておこう。QuarkXPressのバージョン3.3JはAppleScript対応だから(3.1は未対応)、AppleScript標準装備の漢字Talk 7.5以降のOSなら誰でもスクリプティングを始められる。後は帰って復習だな。
はいっ!

TOP

AppleScript救急隊事務局(ASQs) info-asqs@fsight.co.jp

主催 株式会社フォーサイト   後援 アップルコンピュータ株式会社

(c)1996-2010 The ForeSight Inc. All rights reserved.Appleは、米国アップルコンピュータ社の登録商標です。
AppleScriptは、米国アップルコンピュータ社の商標です。
その他記載の会社名・製品名・ソフトウェア名は一般にその会社の登録商標または商標です。