title1
navigation bar3



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

  御用とお急ぎでないDTP(デスクトップ・パブリッシング)業界人はちょいと寄っといで。今月はデザイナーや印刷業者が待望のDTPソフトQuarkXPress 3.3Jスペシャルだ。

  QuarkXPress 3.3はAppleScript対応。手作業で行うほとんどの処理を、AppleScriptで自動化できる。ファイルメーカーProやFinderのスクリプティングと同様に、クラスをしっかり理解しておけば意外と簡単に自動操縦できる。



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


DTPやってるデザイナーなんですけど…
QuarkXPressの作業は自動化できる
QuarkXPressもファイルメーカーと方法は同じ
まずQuarkXPressのクラスを理解しよう
貼り込んだ画像のファイル・パスを取り出す
画像ファイルをFinderでバックアップ・コピー
画像のサイズや回転角度も自由自在
テキストの操作はtext boxクラスで
ページに余白があるからpageはmarginがあるはず
「××.eps」のファイル名で1ページずつEPS保存

《 DTPやってるデザイナーなんですけど… 》
?
先生、今までAppleScriptでマックを自動操縦する方法をいろいろ教えていただきましたが、自動化で助かる人って誰なんでしょう。
先生
何だい急に。AppleScriptのニーズがどこにあるかってことかい?
そうだねぇ、意外なことに全くのプログラミングの素人が結構いるよ。例えば、うちで「UserLand Frontier」とか中上級者向けのスクリプティング関連ツールを発売した時(注:(株)フォーサイトでは現在取り扱っておりません)には、デザインとか印刷関係の人の問い合わせが多かったのは正直驚いたね。
?
でしょう? で、今日はそうした友人のデザイナーを連れてきたんです。
?
どうも初めまして。AppleScriptについてはこの連載で少々勉強しましたが、物足りなくなってお邪魔しちゃいました。
先生
DTPって言うと、「QuarkXPress」とか「Adobe Photoshop」などを?
?
えぇ。それが結構単純作業の繰り返しが多いんですよ。例えばDTPではスキャナーで取り込んだ写真など画像を扱うでしょう。
この点数が多いんで、ファイル形式を変換したり、ファイルを管理したりってのがすごく面倒なんです。こういうクリエイティブでない単純作業は、何とか自動化できないんでしょうかね。
先生
うむ、クリエイティブなことは人間がやって単純作業は機械にやらせる、という発想は結構なことだ。協力しようじゃないか。
TOP

《 QuarkXPressの作業は自動化できる 》
?
先生、AppleScriptでDTP作業を何とかするようなデモを、今年のMACWORLD Expo/Tokyoでやってましたよね。
先生
覚えていたかね。特定のファイル形式のファイルをまとめるとか、画像を変換するとか、あるいはQuarkXPressの書類に貼り込んだ画像ファイルを管理するようなものだった。
?
えっ、じゃあひょっとしてAppleScriptでQuarkXPressやPhotoshopを自動化できるんですか?
先生
うん、QuarkXPressに関してはかなりのことがAppleScriptで自動化できるね。テキスト・ボックスの大きさを変えたり、画像の拡大率を変えるとか、あるいは貼り込んだ画像の大元のファイル名を得て、それをFinderでいじくり回したりできる。
さて、では今日勉強することをかいつまんで見てみよう。図1を見てごらん。ずいぶんいろいろなことができそうだね。
図1 今日勉強するのはDTP作業における自動化。示したような作業をAppleScriptにやらせる 図1今日勉強するのはDTP作業における自動化。示したような作業をAppleScriptにやらせる
?
Photoshopはどうなんでしょう。
先生
PhotoshopはAppleScriptに対応していないからいろいろ細工が必要だねぇ。いろいろなユーティリティーを使うんだけど、一筋縄では行かないかな。QuarkXPressも作業を自動記録しない(Recordableではない)し、図2のようなものは、「FaceSpan」というユーザー・インタフェース構築ツールを使っているから、これも買わないといけないし。そもそも、自分1人で使うだけならともかく、他人に使ってもらうシステムを作るとなると、全体の設計やエラー処理などが大変なんだ。
まぁ、そういうものを作りたければ、ビジネスとして相談に乗るがね。

筆者は本当にそういう仕事をしています。Tel(045)224-4955 (株)フォーサイト

図2 AppleScriptでDTPの画像ファイルを処理するデモ
図2AppleScriptでDTPの画像ファイルを処理するデモ
QuarkXPressに貼り込まれたすべての画像ファイルのパスを検索し、特定のファイル形式のものだけを移動/複製する。
「FaceSpan」というユーザー・インターフェース構築ツールを使用している

TOP

《 QuarkXPressもファイルメーカーと方法は同じ 》
先生
よし、では今日はQuarkXPressスクリプティング入門と行こうか。
?
まず図2のデモですが、ここではどんな命令をQuarkXPressに送っているのですか。
先生

例えば、貼り込んだ画像のファイル・パス(ハード・ディスク上の位置)を得るスクリプトはこんな風になる。QuarkXPressのクラスを理解しないとこの辺りの意味はよく分からないかな。

  tell application "QuarkXPress"
  to get file path of image 1 of picture box 1 of document 1

?
知らないソフトをスクリプティングする時には、まず辞書(用語説明)を見ろっておっしゃってましたよね。
先生
その通り。クラスはすべてアプリケーションに内蔵された辞書に書かれている。「スクリプト編集プログラム(Script Editor)」でそれを開いて見ればいい。辞書を見ながらプロパティーを操作したりコマンドを記述していくのは、QuarkXPressでもファイルメーカーProでも同じだ。もちろんクラスやコマンドはアプリケーションによってかなり違うけどね。
?
「クラス」というのは?
先生
前にも話したんだけれど(本連載第2回参照)、AppleScriptの世界では、あらゆるデータを「オブジェクト」という形でモデル化しているんだ。そのオブジェクトの性質を定義しているのがクラスなんだよ。


《 まずQuarkXPressのクラスを理解しよう 》
?
では、QuarkXPressのクラスには、どういうのがあるんですか?
先生
うん、辞書の中で斜体になっているのがクラスなんだ。じゃぁ、ちょっと「document」というクラスを見てみようか(図3)。何か分かるかな?

図3 QuarkXPressのdocumentクラス 図3QuarkXPressのdocumentクラス

?
あの〜、この「Elements」っていうのは何でしょうか。
先生
Elementsとは要素。そのクラスのオブジェクトに含まれるほかのオブジェクトのこと だよ。つまり、documentクラスのオブジェクトには中にいろいろなオブジェクトが入っているということだが…。
?
???
先生
おいおい、もう忘れてしまったのかい?
?
そうそう、以前のこの連載でそんなことが書かれていましたよね。document(書類)の中にはpage(ページ)があって、text(テキスト)もあれば、image(画像)もあるということですよね。だって辞書を見ると、pageとかimageがdocumentのElementsにありますから。
 
Elements

TOP

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

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

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