| ▲ | 御用とお急ぎでないDTP(デスクトップ・パブリッシング)業界人はちょいと寄っといで。今月はデザイナーや印刷業者が待望のDTPソフトQuarkXPress 3.3Jスペシャルだ。 |
|
|
| ▲ | QuarkXPress 3.3はAppleScript対応。手作業で行うほとんどの処理を、AppleScriptで自動化できる。ファイルメーカーProやFinderのスクリプティングと同様に、クラスをしっかり理解しておけば意外と簡単に自動操縦できる。 |
連載[7-1] QuarkXPressスクリプティング入門
|
《 DTPやってるデザイナーなんですけど…
》
|
|
|
」
|
先生、今までAppleScriptでマックを自動操縦する方法をいろいろ教えていただきましたが、自動化で助かる人って誰なんでしょう。 |
|
先生
|
何だい急に。AppleScriptのニーズがどこにあるかってことかい? そうだねぇ、意外なことに全くのプログラミングの素人が結構いるよ。例えば、うちで「UserLand Frontier」とか中上級者向けのスクリプティング関連ツールを発売した時(注:(株)フォーサイトでは現在取り扱っておりません)には、デザインとか印刷関係の人の問い合わせが多かったのは正直驚いたね。 |
|
」
|
でしょう? で、今日はそうした友人のデザイナーを連れてきたんです。 |
|
、
|
どうも初めまして。AppleScriptについてはこの連載で少々勉強しましたが、物足りなくなってお邪魔しちゃいました。 |
|
先生
|
DTPって言うと、「QuarkXPress」とか「Adobe Photoshop」などを? |
|
、
|
えぇ。それが結構単純作業の繰り返しが多いんですよ。例えばDTPではスキャナーで取り込んだ写真など画像を扱うでしょう。 この点数が多いんで、ファイル形式を変換したり、ファイルを管理したりってのがすごく面倒なんです。こういうクリエイティブでない単純作業は、何とか自動化できないんでしょうかね。 |
|
先生
|
うむ、クリエイティブなことは人間がやって単純作業は機械にやらせる、という発想は結構なことだ。協力しようじゃないか。 |
|
《 QuarkXPressの作業は自動化できる
》
|
|
|
」
|
先生、AppleScriptでDTP作業を何とかするようなデモを、今年のMACWORLD Expo/Tokyoでやってましたよね。 |
|
先生
|
覚えていたかね。特定のファイル形式のファイルをまとめるとか、画像を変換するとか、あるいはQuarkXPressの書類に貼り込んだ画像ファイルを管理するようなものだった。 |
|
、
|
えっ、じゃあひょっとしてAppleScriptでQuarkXPressやPhotoshopを自動化できるんですか? |
|
先生
|
うん、QuarkXPressに関してはかなりのことがAppleScriptで自動化できるね。テキスト・ボックスの大きさを変えたり、画像の拡大率を変えるとか、あるいは貼り込んだ画像の大元のファイル名を得て、それをFinderでいじくり回したりできる。 さて、では今日勉強することをかいつまんで見てみよう。図1を見てごらん。ずいぶんいろいろなことができそうだね。 |
|
図1 今日勉強するのはDTP作業における自動化。示したような作業をAppleScriptにやらせる
|
|
|
、
|
Photoshopはどうなんでしょう。 |
|
先生
|
PhotoshopはAppleScriptに対応していないからいろいろ細工が必要だねぇ。いろいろなユーティリティーを使うんだけど、一筋縄では行かないかな。QuarkXPressも作業を自動記録しない(Recordableではない)し、図2のようなものは、「FaceSpan」というユーザー・インタフェース構築ツールを使っているから、これも買わないといけないし。そもそも、自分1人で使うだけならともかく、他人に使ってもらうシステムを作るとなると、全体の設計やエラー処理などが大変なんだ。 まぁ、そういうものを作りたければ、ビジネスとして相談に乗るがね。 筆者は本当にそういう仕事をしています。Tel(045)224-4955 (株)フォーサイト |
|
《 QuarkXPressもファイルメーカーと方法は同じ
》
|
|
|
先生
|
よし、では今日はQuarkXPressスクリプティング入門と行こうか。 |
|
、
|
まず図2のデモですが、ここではどんな命令をQuarkXPressに送っているのですか。 |
|
先生
|
例えば、貼り込んだ画像のファイル・パス(ハード・ディスク上の位置)を得るスクリプトはこんな風になる。QuarkXPressのクラスを理解しないとこの辺りの意味はよく分からないかな。 tell application "QuarkXPress" |
|
」
|
知らないソフトをスクリプティングする時には、まず辞書(用語説明)を見ろっておっしゃってましたよね。 |
|
先生
|
その通り。クラスはすべてアプリケーションに内蔵された辞書に書かれている。「スクリプト編集プログラム(Script Editor)」でそれを開いて見ればいい。辞書を見ながらプロパティーを操作したりコマンドを記述していくのは、QuarkXPressでもファイルメーカーProでも同じだ。もちろんクラスやコマンドはアプリケーションによってかなり違うけどね。 |
|
、
|
「クラス」というのは? |
|
先生
|
前にも話したんだけれど(本連載第2回参照)、AppleScriptの世界では、あらゆるデータを「オブジェクト」という形でモデル化しているんだ。そのオブジェクトの性質を定義しているのがクラスなんだよ。 |
|
《 まずQuarkXPressのクラスを理解しよう
》
|
|
|
」
|
では、QuarkXPressのクラスには、どういうのがあるんですか? |
|
先生
|
うん、辞書の中で斜体になっているのがクラスなんだ。じゃぁ、ちょっと「document」というクラスを見てみようか(図3)。何か分かるかな? |
|
図3 QuarkXPressのdocumentクラス |
|
|
、
|
あの〜、この「Elements」っていうのは何でしょうか。 |
|
先生
|
Elementsとは要素。そのクラスのオブジェクトに含まれるほかのオブジェクトのこと だよ。つまり、documentクラスのオブジェクトには中にいろいろなオブジェクトが入っているということだが…。 |
|
」
|
??? |
|
先生
|
おいおい、もう忘れてしまったのかい? |
|
、
|
そうそう、以前のこの連載でそんなことが書かれていましたよね。document(書類)の中にはpage(ページ)があって、text(テキスト)もあれば、image(画像)もあるということですよね。だって辞書を見ると、pageとかimageがdocumentのElementsにありますから。 |
![]() |
|
AppleScript救急隊事務局(ASQs) info-asqs@fsight.co.jp