NiftyServe FPRINT 2番会議室で連載した,「QuarkXPressを操ろう」の内容をそのまま載せています。
QuarkXPressを操ろう(その1)「プロパティを制する者は・・・(1)」
QuarkXPressを操ろう(その2)「プロパティを制する者は・・・(2)」
QuarkXPressを操ろう(その3)「プロパティを制する者は・・・(3)」
QuarkXPressを操ろう(その4)「プロパティを制する者は・・・(4)」
QuarkXPressを操ろう(その5)「プロパティを制する者は・・・(5)」
QuarkXPressを操ろう(その6)「今後のお勉強会のために必要なもの」
02631/02632 GGC00677 [,た] QuarkXPressを操ろう(その1)
( 2) 96/02/28 00:05
毎度どーも[,た]です。
ご要望が,多いか少ないかわかりませんが,QuarkでのAppleScript
の講座というより,勉強会をやってみたいと思います。これが,
AppleScript Programmingへの橋渡し的な役目を果たせたらいいな
と思っています。では,スタート!
////////////////////////////////////////////////////////////
QuarkXPressを操ろう(その1)
突然ですが,QXをAppleScriptで操るためのお勉強を始めましょ
う。今回のタイトルは,「プロパティを制する者は・・・(1)」
です。
-----------------------------------------------------------
tell application "QuarkXPress"
activate
get properties
end tell
-----------------------------------------------------------
まずは,点線に挟まれたスクリプトを実行しましょう。
具体的には,
1)スクリプト編集プログラムを起動します
2)編集―書式...を選択します。表現形式を「英語」にしてくだ
さい
3)ファイル―新規スクリプトを選択します
→ウインドウが開きます
4)カーソルが点滅している部分に,点線に挟まれたスクリプト
をコピーします
5)実行ボタンを押す
です。すると,
→"QuarkXPress"はどこにありますか? と聞いてきます
←QuarkXPress本体を選択して,開くボタンを押します
→QuarkXPressが起動します。
→「結果」ウインドウが表示され,そこに文字が沢山表示されたで
しょう。
これが,QXの"application"のプロパティです。その中に,こんな表
記があるでしょう。
auto backup: XXX
auto lib save: XXX
auto save: XXX
auto save interval: XXX (XXXは個人個人で異なります)
これは,QXで環境設定―アプリケーションの
自動バックアップ
ライブラリへの自動保存
自動保存
自動保存?分おきに の設定状況を表しています。
つまり,QXをAppleScriptで操るには,これらプロパティをどうゲッ
トして,どう加工するかということになります。これら手順を組み
立てることが,AppleScriptでのプログラミングになるわけです。
(その1 完)
GGC00677 [,た] 鎌田 幸雄
02632/02632 GGC00677 [,た] QuarkXPressを操ろう(その2)
( 2) 96/02/28 00:05
では,引き続き「プロパティを制する者は・・・(2)」です。
今回は,何かドキュメントを開いてから,下記を実行してくださ
い。
-----------------------------------------------------------
tell application "QuarkXPress"
activate
tell document 1
get properties
end tell
end tell
-----------------------------------------------------------
→「結果」ウインドウが表示され,前回同様に文字が表示されま
す。
前回との違いは何かといいますと,
今開かれている"document"のプロパティです。
^^^^^^^^
tell document 1が追加されましたね。
tell〜 の〜は,オブジェクトといいます。〜に対して命令します
よ,そして,その命令はプロパティをgetしろということです。
上記スクリプトは,ドキュメントオブジェクトの,前回はアプケー
ションオブジェクトのプロパティをゲットするものです。
では,QXには,どういうオブジェクトがあるのか。それに,どう
いうプロパティが設定してあるのかを知ることが,「操る」ための
第一歩になります。(その2 完)
GGC00677 [,た] 鎌田 幸雄
02645/02647 GGC00677 [,た] QuarkXPressを操ろう(その3)
( 2) 96/02/29 00:28
「プロパティを制する者は・・・(3)」です。
前回の,「QXには,どういうオブジェクトがあるのか。それに,ど
ういうプロパティが設定してあるのかを知ること・・・」について
です。まずは,オブジェクトです。
オブジェクトの階層状況
┌────────────────────────────┐
│ application │
└────────────────────────────┘
↓ ↓
┌────────────┐ ┌────────────┐
│document/master document│ default document │
└────────────┘ └────────────┘
↓
┌────────────┐
│ spread │
└────────────┘
↓
┌────────────┐
│ page │
└────────────┘
↓
┌────────────┐ ┌────────────┐
│ generic box │ │ text │
│┌──────────┐│ │┌──────────┐│
││ text box │──→││ story ││
│└──────────┘│ │└──────────┘│
│┌──────────┐│ │ ↓ │
││ line box ││ │┌──────────┐│
│└──────────┘│ ││ text style range ││
│┌──────────┐│ │└──────────┘│
││ picture box ││ │ ↓ │
│└─────┬────┘│ │┌──────────┐│
└──────│─────┘ ││ paragraph ││
↓ │└──────────┘│
┌──────────┐ │ ↓ │
│ image │ │┌──────────┐│
└──────────┘ ││ line ││
│└──────────┘│
│ ↓ │
│┌──────────┐│
││ word ││
│└──────────┘│
│ ↓ │
│┌──────────┐│
││ character ││
│└──────────┘│
└────────────┘
(Apple Events Scripting with QuarkXPress より抜粋)
これらのオブジェクトに対して,命令していくわけです。
(その3 完)
GGC00677 [,た] 鎌田 幸雄
02647/02647 GGC00677 [,た] QuarkXPressを操ろう(その4)
( 2) 96/02/29 00:28
「プロパティを制する者は・・・(4)」
前回の最後に簡単に
「これらのオブジェクトに対して,命令していくわけです。」
と言いましたが,前々と同様にプロパティをゲットしましょう。
新規のドキュメントのページに画像ボックスを作って,何か画像を
読み込んでください。その画像のプロパティをゲットします。
-----------------------------------------------------------
tell application "QuarkXPress"
activate
tell document 1
tell page 1
tell picture box 1
tell image 1
get properties
end tell
end tell
end tell
end tell
end tell
-----------------------------------------------------------
同じことを,もっと短くもかけます
-----------------------------------------------------------
tell application "QuarkXPress"
activate
tell image 1 of picture box 1 of page 1 of document 1
get properties
end tell
end tell
-----------------------------------------------------------
こんな感じで,ほかのオブジェクトにもtell〜してみて,どんな
プロパティがあるか確かめてみてください。
(その4 完)
GGC00677 [,た] 鎌田 幸雄
02663/02666 GGC00677 [,た] QuarkXPressを操ろう(その5)
( 2) 96/03/01 10:26
「プロパティを制する者は・・・(5)」
いろいろなプロパティがあったと思います。これらは何を見れば
もっとよくわかるでしょうか
[方法1]用語説明を開く
スクリプト編集プログラムで,ファイル―用語説明を開く...
を選択し,Quark本体を開くと,用語説明が出てきます。
範囲を指定してプリントしてみましょう。
(用語説明をpdfファイルにしたものが,CompuServe,QuarkHomeページ
あります)
[方法2]Quark Homeページから次のドキュメントをDownする
Quarkのホームページのアドレスは,http://www.quark.com
そのライブラリのスクリプティングの中に
1 AdvancedScripting.hqx
2 Ch4AdvScripting.hqx
この二つで,一冊の本になります。
前半が,QXPでのAppleScriptの概説,
後半にプロパティの説明が載っています。
[方法3]US版の3.2 or 3.3をもっている人を捜す
2のドキュメントは,US版の3.2 or 3.3には付属しています。
Apple Eventというフォルダを捜してください。
(3.2と3.3の違いは,3.3にprint record propertiyが1つ追加
されているだけなので,支障はありません)
US版のドキュメントのクリエータはXPR3ですから,
J版で読むにはXPRaに変更する必要があるでしょう。
[2,3]のドキュメントは,Quarkのスクリプティングには必須の
ものです。これがあれば,ある程度プログラミングに心得があれば
この勉強会を参考にしなくても,スクリプティングできると思いま
す。是非,なんとかしてゲットしましょう!
でも,当面は,このドキュメントがなくてもスクリプティングで
きるように勉強会進めていきます。
(その5 完)
GGC00677 [,た] 鎌田 幸雄
02666/02666 GGC00677 [,た] QuarkXPressを操ろう(その6)
( 2) 96/03/01 10:26
「今後のお勉強会のために必要なもの」
●AppleScriptそれ自体
7.5で標準搭載されましたので,それで結構です。
機能拡張にAppleScriptとスクリプティング機能追加があれば動作し
ます。
●スクリプト編集プログラム
上記をインストールする時に同時にセットされるはずです。
プログラミングする際,必要です。
●スクリプタブルファインダー
これは,ファインダーをAppleScriptで制御する場合必要ですが,
この勉強会では,まだ必要ではありません。ただし,ご自分の
ファインダーが,スクリプタブルかどうか知ってて下さい。
V7.1.4以降ならば,スクリプタブルです。
●AppleScriptの解説書
1「AppleScript道入門」¥3,500-
2「ダニーグッドマンのAppleScriptハンドブック」¥4,500-
3「AppleScript入門」¥2,900-
4「AppleScriptでゼンマイびゅんびゅん」¥1,400-
5「AppleScript活用講座」¥2,800-
6「AppleScriptリファレンス」¥1,800-
1〜5のうち,どれか一冊を選べばよいと思います。
(私が始めたときは,1〜3までの選択肢しかありませんでしたの
で,安い,翻訳本でないということで3にしました。)
6は最近で出たものです。常備したほうがなにかと便利です。
●Apple Events Scripting with QuarkXPress
これは,前回述べた,QuarkのHomePageにあるやつです。当面は使
用しなくても済むような配慮をしますが,いずれは必要になるで
しょう。
×買わなくてもいいもの
『AppleScript Scripters Toolkit 日本語版』という製品があり
ますが,現在ではあえて購入しなくてもいいと思います。
理由は(私の考えですが)
1 7.5では標準搭載されている
2 マニュアルは,全て「日本語表記」のため,使えない。せめ
て,日英併記していてくれたら(併記してくれているのが,
「AppleScriptリファレンス」という本で出ているので,これ
で十分。
ですから,日本語表記で記述したい方,同梱されてくるFaceSpanと
いうものが欲しい方(これもUSでは2.0にV upされているのに・・)
以外は魅力のない商品です。
◎参考までに・・・
本格的なツールをプログラミングしていくと,デバッグ環境が整っ
ていないことに不満を持つようになるでしょう。
次のようなツールがありますので,興味のあるかたは,お調べ下さ
い(APDA 95/12 PriceListより)
AppleScript Software Development Toolkit v1.1 ¥17,100
ScriptDebugger ¥21,500
Scripter ¥31,700
ScriptWizard ¥15,600
ScriptDebuggerとScriptWizardはデモ版があります。
ScriptDebugger -- FMACPRO Lib14 -No.610
ScriptWizard -- FJAMEA Lib 9 -No.475
GGC00677 [,た] 鎌田 幸雄