ごんれのラボ

iOS、Android、Adobe系ソフトの自動化スクリプトのことを書き連ねています。

プリントダイアログを出さずにプリントする

InDesignでプリントプリセットを指定してプリントするでコメントをいただいていた「ダイアログを出すとOKボタンを押す必要があるけど、どうやって押すの?」について、いろいろ試してみました。

 

Twitterのフォロワーさんから教えていただいたのは下記の方法。

ignoring application responses

--ここに処理を書く

end ignoring

これでダイアログを無視できるかと思ったんだけど、うまく行かなかった。

残念。

 

そんでいろいろ調べてたところ答えを見つけた。

print using 変数 with print dialog

 

のwithをwithoutにしたら解決。

 

なんか、もう、自分の無能さを恥じました(^^;

QuarkのAppleScriptをバリバリ書いてたときも似たようなことで躓いていた気がするんだよなー。

進歩なし。

 

そんわなけで完成型は下記です。

 


on open thisList

 

set my_printer to "hogehoge" --プリントプリセット指定

 

tell application "Adobe InDesign CS4"

repeat with thisFile in thisList --ファイル数分繰り返す

activate

open thisFile --ドキュメントを開く

tell application "Adobe InDesign CS4"

tell document 1

--withoutはダイアログ表示なし、withはダイアログ表示あり(自分でボタンを押す必要がある)

print using my_printer without print dialog

end tell

end tell

close saving no

end repeat

end tell

end open

 


 

あ、注意点。

これだとPS書き出しはできないみたいです。

PS書き出すときは前回のAppleScriptを使って保存場所を指定してあげてください。

というか、使い方としてそっちが正しいと思うので。

 

このAppleScriptに付け加えるとしたら下記のようなものがいいと思う。

●ドロップされたドキュメントをソートする

●プリントプリセットの一覧をリスト表示して選択できるようにする

 

気が向いたら実装します。