dポイントプレゼントキャンペーン実施中!

Mac OS10.4.11 AppleScriptを使って印刷したいです。

ある特定のフォルダにPDFデータが入ったとき 自動的にプリントアウトしてくれるようにするにはどのようにAppleScriptを組み立てれば良いでしょうか。。

所有しているパソコンはMac OS9.1とOS10.4.11です。
OS9.1に非対応のプリンタのため 9.1で作ったデータを10.4.11に書き出して印刷したいと思っています。

用紙はいつもA3横・データはPDFです。

自分で組み立てるといつも失敗してしまうので・・ どなたかお詳しい方に教えて頂きたいです。。m(_ _)m

A 回答 (2件)

http://oshiete1.nifty.com/qa7141736.html
の関連ということで回答します。

10.4のAppleScriptでどこまで機能があるか今となってはわかりませんので、多分これくらいは動くであろうという想像で作成しました。
10.6ではAutomatorなどを使えばもっと簡単にいけそうですが、

最初はPreviewを使えば簡単にと思っていましたが、Previewは素の状態ではAppleScriptに対応していないのですねえ。
printは受け付けてくれますが、書類のcloseはどうも駄目なようで、なんとか使えそうな気もしますが、
今回は印刷は直接プリンタのアプリケーションを使っています。
tell application "brother xxxxx"がそれで、プリンタを登録したときに自動で作成されるようです。
AppleScriptエディタで用語説明を開くと、アプリケーションとしてそれらしい名称(プリンタの型番とか、ネットワークプリンタではIPアドレスでした)が出てきますので環境に合わせて書き換えてください(存在しない適当な名前を入れれば聞いてきますのでその時選択してもよい)、これで印刷できました。
このスクリプトはDesktopのprint_folderというフォルダを監視し、終わればゴミ箱にファイルを捨てています。

アプリケーションとして保存すれば起動してもそんなに邪魔にはならないと思います。

強引にループを回していますので、全然スマートじゃありませんが、そのあたりはご容赦を。

repeat
tell application "Finder"
set printFolder to folder "print_folder" of desktop
set printFiles to files in printFolder
if printFiles is not {} then
repeat with printFile in printFiles
tell application "brother xxxxx"
print file (printFile as string)
end tell
move printFile to trash
end repeat
end if
end tell
delay 2
end repeat

この回答への補足

こちらにも来て下さったのですね。。感激です。。^^*

あの・・あの・・・申し上げづらいのですが Applescript = Automatorではないのですね・・
同じ事なのかと思っていました。。すみません すみません・・・orz
Automaterなら少し使ったことあります。。

Applescriptは使ったことがないのですが 教えて下さった通りに挑戦してみました^^*
Automaterとソックリなんですね

まだプリンタを購入していないので brotherのところを会社のプリンタのIPアドレスにしてみました。。
するとプレビューでうまく開いてくれて 無事プリントアウトできました!!^▽^*

そこでまたいくつか質問させてくださいませ。。m(_ _)m

・ファイル名が長い?とか日本語名だとプレビューにて認識してくれない
(たとえばmusasino.pdfなら大丈夫なのですが武蔵野.pdfだとダメです。。)

・A3横にすることは可能でしょうか。。
(10.4ではA4サイズが多いため 出来ればデフォルトでA3の設定にしたくはないのですが。。><)

・ゴミ箱ではなく 保存のため他のフォルダに移したい場合はどうすればいいのでしょうか
(to trash を to folder "****" にしてもできないのですが。。 )


ki073さんばかりに頼り切ってすみません・・・><

補足日時:2011/11/21 11:49
    • good
    • 0

プレビューが開きましたか???


プレビューが開かないようにわざわざ
tell application "brother xxxxx"
print file (printFile as string)
end tell
としたのですが、10.4ではだめなのかな。

プレビューが開くと、このままでは開いたままで、どんどん開いたウインドウが増えていくことになりませんか。

上の文を
tell application "Preview"
open printFile
print
quit
end
とすると、プレビューは開きますが素直なスクリプトになります。

用紙の件ですが、サイズはPDFファイルが覚えているはずですので,A3でPDFファイルを作ればうまくいくはずです。

それとゴミ箱ではないところでしたら
to folder "Macintosh HD:Users:xxx:xxx:"
のようにします。Mac OS9の時には/ではなくて、:(コロン)で区切っていました。その名残です。
AppleScriptエディタで
tell application "Finder" to get desktop as string
とすると、書き方がわかると思います。
    • good
    • 0
この回答へのお礼

お返事遅くなってしまってスミマセン。。

いろいろ試行錯誤してみて こういうふうになりました。。

repeat
tell application "Finder"
set printFolder to folder "print_folder" of desktop
set printFiles to files in printFolder
if printFiles is not {} then
repeat with printFile in printFiles
tell application "Preview"
open printFile
print file (printFile as string)
end tell
move printFile to desktop
end repeat
end if
end tell
delay 2
end repeat

move printFile to~のところがどうにもうまくフォルダの中に入ってくれないため デスクトップに置くことにしました。。

Automater にも挑戦してみたのですが 全くうまくいかないので断念しました・・・><

まだプリンターを購入していないので いざ購入したときにまた疑問があるかもしれません
そのときにはまたいろいろ教えて下さいませ。。^^*
有り難うございました

お礼日時:2011/11/24 12:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!