電子書籍の厳選無料作品が豊富!

Mac(OS10.5.6)でDTPの仕事をしています。仕事柄、illustratorで作成したデータをPDF化する作業が多いので自動化したいと思いいろいろ調べていたところ、標準であるフォルダアクションスクリプトで「convert - PostScript to PDF.scpt」というのがあり、PSかEPSがスクリプトを設定したフォルダに入ると自動的にPDFが生成される、というところまではわかりました。これでも便利なのですが、epsデータが「Original Files」フォルダ、PDFデータが「PDF Files」フォルダに移動されてしまい、理想としてはこれを移動しないようにしたいのです(保存と同時に同じ階層にPDFが作られるようにしたい)。スクリプトを書き換えれば出来るのか、とも思うのですが、あまり知識がないもので…どなたかお知恵をお貸し願えませんでしょうか?よろしくお願いいたします。

A 回答 (5件)

一番簡単なのは、53行目の


process_item(source_file, new_name, results_folder)

process_item(source_file, new_name, this_folder)
と書き換えることです。

Original Files や PDF Files といったフォルダは作成されますし、元の PostScript ファイルは Original Files の中に移動しますが、PDF ファイルは最初のフォルダ階層に作成されます。PostScript ファイルも元の階層に残したければ、51行目の
set the source_file to (move this_item to the originals_folder with replacing) as alias

set the source_file to this_item as alias
と変えてください。

この回答への補足

capy2009様、以前のご質問でもお世話になりまして度々ありがとうございます!ご指示の通り修正して見事にできるようになりました!本当にありがとうございますm(__)m!、欲をいいますと…ファイルがフォルダに入ったらアクションを実行するのはもちろん、フォルダ内でファイルを保存した時にも同時にPDFが作成できるようにできればと思うのですが…そういう事はできるのでしょうか?お教え頂けますと幸いです。

補足日時:2009/12/09 03:40
    • good
    • 0

う~ん、これは難題ですね。



とりあえず、スクリプトエディタのヘルプから見られる AppleScript ヘルプをまず読んでみるといいでしょう。

それ以外となると、実際問題として日本語の本は最近のものはほとんどないですし、入門サイトも初歩から丁寧に説明しているところは OS 9 時代のものが多いです。今でも共通して使える部分もありますが、当然違いも色々あります。

http://osqx.s17.xrea.com/applescript/
に幾つか入門サイトが挙げられているので、チェックしてみてください。
http://allabout.co.jp/computer/macos/subject/msu …
も参考になるかもしれません。

あとはやはり標準添付のサンプルスクリプトなどを参考に、トライアルアンドエラーで自分のスクリプトを作り上げてみれば理解が進みます。
    • good
    • 0
この回答へのお礼

capy2009様、ありがとうございます!

>実際問題として日本語の本は最近のものはほとんどないですし、入門サイトも初歩から丁寧に説明しているところは OS 9 時代のものが多いです。今でも共通して使える部分もありますが、当然違いも色々あります。

そうなんですよね、探してもほとんどないので、つらいところです。ただ、覚えれば今の業務にとても役に立つので、まずはおっしゃられたとおりヘルプやトライアルアンドエラー、教えていただいたサイトを参考に地道に勉強していきたいと思います。きっと壁にぶつかりまくりだと思いますが…(^^;。難題に懇切丁寧にお答え頂き、大変感謝しております。またきっと質問してしまうかと思いますが…お力をお貸し願えればと思います。本当にありがとうございましたm(__)m

お礼日時:2009/12/11 06:20

> 違うというとconvert - PostScript to PDF.scpt の30行目「on adding folder items to this_folder after receiving these_items」の「these_items」のところがadd - new item alert.scptだと「added_items」になっていますけど、



これはそのスクリプトの中で使う変数として仮に付けた名前なので、何でもいいんですよ。
スクリプトエディタで見ると緑色になっていると思いますが、それは変数という意味です。

例えば後者の added_items を these_items に変えてスクリプト中に出てくる added_items も全て置き換えれば、全く同様に動作しますし、these_items でなくて例えば tomomo_items とかでもかまいません。
    • good
    • 0
この回答へのお礼

なるほど、そうなんですね、すいません、変数もろくに解らないド素人なもので…(^^; 重ね重ね大変勉強になります。ありがとうございます。あの、本題からずれてしまい申し訳ありませんが、私、もっとAppleScriptを勉強して今の仕事に使えそうなスクリプトを少しでも覚えられたらと思うのですが、ネットで見てもうまく見つからず、差し支えなければ何かオススメの書籍やサイトなどあればお教えいただけないでしょうか?

お礼日時:2009/12/10 23:00

> add - new item alert.scpt



うちでは上書き保存では起動しませんでしたが、微妙なタイミングか何かに違いがあるのでしょう。
ただ、トリガーは2つのスクリプトで全く同一なので、add - new item alert.scpt が起動する条件なら convert - PostScript to PDF.scpt も起動するはずです。
    • good
    • 0
この回答へのお礼

>トリガーは2つのスクリプトで全く同一なので、add - new item alert.scpt が起動する条件なら convert - PostScript to PDF.scpt も起動するはずです。

確かに、例えば2つのスクリプトの最初らへんを見る(素人的な目線ですが)と大体同じなんですよね…。違うというとconvert - PostScript to PDF.scpt の30行目「on adding folder items to this_folder after receiving these_items」の「these_items」のところがadd - new item alert.scptだと「added_items」になっていますけど、そこってあまり関係ないでしょうか?

capy2009さんの環境ではadd - new item alert.scptは上書きで起動しないのですね、何故うちの環境では起動するのか…謎ですね。

すいません、本当にいろいろとありがとうございましたm(__)m。もう少し自分なりに試してみます。

お礼日時:2009/12/10 20:27

> ファイルがフォルダに入ったらアクションを実行するのはもちろん、フォルダ内でファイルを保存した時にも同時にPDFが作成できるようにできればと思うのですが…



新規保存ならば Folder Action が実行されて PDF が作成されるはずですが、すでにフォルダ内にあるファイルを上書き保存した時にも実行したいということでしょうか?

それはちょっと面倒です。

Folder Action を起動するシグナルとしては、フォルダに新規アイテムが追加される/フォルダからアイテムが取り除かれる/フォルダが開かれる/フォルダのウィンドウが移動される/フォルダウィンドウが閉じられる の5種類がありますが、単にアイテムを上書きしただけでは起動されません。

やるとすれば、各ファイルの変更日付を監視するスクリプトを常時起動しておいて、変化があれば PDF 化を実行ということになるでしょう。自分で一からスクリプトを書くことになります。

実用を考えるなら、最初のスクリプトで PostScript ファイルが PDF 変換後に "Original Files" に移動する設定のままにしておけば、次に同じファイルを保存しても新規保存になるために Folder Action が起動して、PDF ファイルは上書きされます。
    • good
    • 0
この回答へのお礼

Folder Action を起動するシグナルは5つなんですね、とても勉強になりました。ありがとうございます!

>新規保存ならば Folder Action が実行されて PDF が作成されるはずですが、すでにフォルダ内にあるファイルを上書き保存した時にも実行したいということでしょうか?

まさにそうなんです。が、結構大変な作業が必要なのですね…。同じ標準である「add - new item alert.scpt」もよく使っていて、それは上書き保存でもスクリプトが反応した為、同じ原理で出来るのかと思っていたのですが、そのスクリプトを解析しても自分のレベルでは良くわからずじまいでした。

ただ、おっしゃる通り最初に教えていただいた53行目を書き換えてPDFファイルが上書きされるようになっただけでもとてもありがたいです!いずれおっしゃられている「変更日付を監視するスクリプト」というのも考えてみたいですが…、まずは現状で進めつつ、自分なりにもいろいろと調べてみようと思います。またいずれお力をお借りする事も出てきてしまうかと思いますが、何卒ご教授いただければと思います。いろいろと本当にありがとうございました!

お礼日時:2009/12/10 06:59

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