InDesign CropMarks Ver.1
使用方法

本アプリケーションを起動すると、図のようなウインドウが開きます。
必要な設定項目を入力し、InDesignドキュメント上の任意のボックスを選択し、「作成」ボタンを押せばボックスの周りにトンボが作成されます。
●図の設定値がデフォルト値になっています。
変更後、本アプリケーションを終了すると、変更後の設定値がデフォルト値となります。
●作成ボタンを押す前に必ずInDesignドキュメント上の任意のボックスを選択してください。
●ウィンドウはInDesignドキュメントより前に表示されます。
●終了する場合はウィンドウのクローズボタンを押すか、InDesign CropMarksをアクティブな状態にしてコマンド+Qで終了して下さい。
ダウンロード
|
対応OS
|
ダウンロード
|
| Macintosh版 | InDesign_CropMarks_112.zip 4.26 MB |
InDesign CropMarks Ver.1
ソースについて
InDesign CropMarks Ver.1をダウンロード解凍して頂きますと、アプリケーション本体とRead meフォルダ及び、ソースフォルダが付属しております。
InDesign CropMarksをご利用頂く場合には、本体を任意の場所にコピーしダブルクリックにて使用が可能です。
使用方法は別の説明画面を参照して下さい。
ソースフォルダ内には、InDesignCropMarks.rbファイルとapplescriptフォルダがあり、3つのapplescriptが入っています。
ApplescriptはMacintoshに標準でスクリプトエディタが付属していますので、それで開きます。
開く際にInDesignを呼びに行きますので、IndesignもインストールされているMacでなければ正しく開く事が出来ません。
Realbasicをお持ちでなく、興味があるという方は、評価版がASCIIよりダウンロードできますので、お試しください。
| activate | エラーダイアログなどを出す場合に、本アプリケーションをアクティブにする為に利用します。 |
| boxserch | 選択されたドキュメント上のボックス情報をアプリケーション側に戻します。 |
| makeline | 実際にトンボを1本ずつ描きます。 |
簡単な解説
Realbasic 5.5.4で、添付の InDesignCropMarks.rbを開くと、プロジェクトウィンドウは図のようになります。

AScriptフォルダは適当に分類する為に作ったフォルダです。
その中に先ほど紹介したApplescriptのエイリアスのようなものが表示されています。
ApplescriptをRealbasicから利用する場合には、このようにプロジェクトウィンドウに登録し、通常のメソッドのように呼び出して利用します。
|
01 Sub Action() 02 Dim sel As String 03 Dim res As Boolean 04 Dim c As TextConverter 05 c = GetTextConverter(Encodings.UTF16,Encodings.UTF8) 06 sel = boxserch() 07 Select Case sel 08 Case "1" 09 activate 10 MsgBox "Boxが選択されていません。" 11 Case "2" 12 activate 13 MsgBox "エラーが起きました。"+chr(13)+"ドキュメントが正しく開いているか確認して下さい。" 14 Case "" 15 activate 16 MsgBox "Boxを正しく読み取る事が出来ませんでした。" 17 Else 18 sel = c.convert(ReplaceAll(sel," ","")) 19 res=reg(sel) 20 If res = False Then 21 activate 22 MsgBox "トンボ作成に失敗しました。" 23 End If 24 End Select 25 End Sub |
上のプログラムは「作成」ボタンの中に書かれているプログラムですが、06、09、12、15行でApplescriptを呼び出しています。
boxserchは選択されているドキュメント上のボックス情報を返り値として受け取るので、"sel"に代入しており、他のメソッドと同様、Applescript名の後ろに()を付けます。
()の中には値を入れて、Applescript側に渡す事も可能です。
activateは選択されたドキュメント上の情報が正しく返って来なかった時にアプリケーション側で、エラーダイアログを出すのですが、InDesignがアクティブになってしまうと、ダイアログがバックに回って見えなくなってしまう為、アプリケーションをアクティブにするためだけに使用しています。
値の受け渡しは何も無いので、activeとだけ記します。
05行の「c = GetTextConverter(Encodings.UTF16,Encodings.UTF8)」は18行の「sel = c.convert(ReplaceAll(sel," ",""))」でボックス情報をUTF16からUTF8に変換する為です。
InDesignのボックス情報は、UTF16形式でApplescriptに渡されてますが、Realbasicの内部ではUTF8が使われている為、受け取った情報を変換して取込んでいるというわけです。
●Applescriptの記述方法
| 01 on run {x1, y1, x2, y2, lw, co} 02 try 03 tell application "Adobe InDesign CS2_J" 04 activate 05 set MyDocument to active document 06 set mySpread to active spread of active window 07 tell MyDocument 08 tell mySpread 09 make graphic line with properties {geometric bounds:{y1, x1, y2, x2}, ¬ stroke weight:lw, stroke color:swatch co of MyDocument} 10 end tell 11 end tell 12 end tell 13 return "true" 14 on error 15 return "false" 16 end try 17 end run |
注意 '¬'は改行してない事を意味しています。基本的にApplescriptでは一つの命令文は1行で書かなければならないが、表示の関係上1行に収まらない為このように表記しています。
Applescriptは、On run{} とEndrunの間に実際のスクリプトを書くようにする。
On run{}の{}の中には、Realbasic側から受け渡される値を変数として記入します。
変数名は、Applescript内で使用するローカル変数ですので、Realbasicで使用した変数名にあわす必要は無いですが、複数の値を指定する場合には、変数を","で分けて書く必要があります。
また、RealBasic側で指定した受け渡し値の順番通りにApplescript側でも受け取りますので、順番には注意が必要です。
Realbasicへの戻り値はreturnに続き文字列で返します。
戻り値は一つだけです。
RealbasicからApplescriptに値を渡す場合も数値としてではなく、文字列として渡す方が良いようです。
特に小数点が必要なsingleやDoubleなどを扱う場合は文字列に変換してから受け渡します。
InDesignでは、小数点以下15桁迄計算していますので、数値をそのままApplescriptに持って行くと、数値の後ろが省略されて+eって文字列として認識されてしまうので注意が必要です。
このスクリプトはトンボを引く為のスクリプトですが、Onrun{}の中の変数はx1,y1がトンボの始点を表し、x2,y2は終点を表します。どちらもドキュメント上の原点からの距離となります。
(左上が原点となります。)
lwはトンボの幅を表し、coは色を表しますが、数値ではなくスウォッチ名を指定しています。
Applescriptを保存する場合には、かならずスクリプト形式で保存するようにします。
ファイル名に日本語や、記号などの使用もやめましょう。
InDesign CropMarks Ver.1
リリース歴
2005.6.1 ・・・ Ver1初リリース
開発環境
Power Book G4 15Inch 1.5GHz OS 10.3.9
REALbasic 5.5.4Jで作製
スクリプトエディタ 2.0(v43.1)
動作環境
Adobe InDesign CS_J・CS2
Mac OS X(10.3.9・10.4.9確認 Intel Macでは確認しておりません。)
AppleScript 1.9.3
サポート
nDesign CropMarksはフリーウェアであり、そのソースを公開するものでありますが、その著作権を放棄したものでは有りません。著作権は作者にあります。
改造、譲渡は自由に行って頂いても構いませんが、商用などに利用する事は控えて下さい。
バグ等、お気づきの点がございましたら作者迄ご連絡頂きたくお願い致します。
当アプリケーションを使用による事故・トラブルについて一切の責任を作者は負いません。
使用にあたっては個人の責任の元でご使用下さい。