• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フォルダアクション convert - PostScript to PDF.scpt でフォルダ移動しないようにしたい)

フォルダアクション convert - PostScript to PDF.scpt でフォルダ移動しないようにしたい

このQ&Aのポイント
  • Mac(OS10.5.6)でDTPの仕事をしています。illustratorで作成したデータをPDF化する作業を自動化したい
  • フォルダアクションスクリプト「convert - PostScript to PDF.scpt」を使用すると、PSかEPSがスクリプトを設定したフォルダに入ると自動的にPDFが生成される。しかし、PDFが別のフォルダに移動されてしまう
  • スクリプトを書き換えてPDFを移動させないようにしたいけれど、知識がなくてできない。助けてください

質問者が選んだベストアンサー

  • ベストアンサー
  • capy2009
  • ベストアンサー率72% (337/465)
回答No.1

一番簡単なのは、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 と変えてください。

tomomo20
質問者

補足

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

その他の回答 (4)

  • capy2009
  • ベストアンサー率72% (337/465)
回答No.5

う~ん、これは難題ですね。 とりあえず、スクリプトエディタのヘルプから見られる AppleScript ヘルプをまず読んでみるといいでしょう。 それ以外となると、実際問題として日本語の本は最近のものはほとんどないですし、入門サイトも初歩から丁寧に説明しているところは OS 9 時代のものが多いです。今でも共通して使える部分もありますが、当然違いも色々あります。 http://osqx.s17.xrea.com/applescript/ に幾つか入門サイトが挙げられているので、チェックしてみてください。 http://allabout.co.jp/computer/macos/subject/msubsub_series_macos06.htm も参考になるかもしれません。 あとはやはり標準添付のサンプルスクリプトなどを参考に、トライアルアンドエラーで自分のスクリプトを作り上げてみれば理解が進みます。

tomomo20
質問者

お礼

capy2009様、ありがとうございます! >実際問題として日本語の本は最近のものはほとんどないですし、入門サイトも初歩から丁寧に説明しているところは OS 9 時代のものが多いです。今でも共通して使える部分もありますが、当然違いも色々あります。 そうなんですよね、探してもほとんどないので、つらいところです。ただ、覚えれば今の業務にとても役に立つので、まずはおっしゃられたとおりヘルプやトライアルアンドエラー、教えていただいたサイトを参考に地道に勉強していきたいと思います。きっと壁にぶつかりまくりだと思いますが…(^^;。難題に懇切丁寧にお答え頂き、大変感謝しております。またきっと質問してしまうかと思いますが…お力をお貸し願えればと思います。本当にありがとうございましたm(__)m

  • capy2009
  • ベストアンサー率72% (337/465)
回答No.4

> 違うというと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 とかでもかまいません。

tomomo20
質問者

お礼

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

  • capy2009
  • ベストアンサー率72% (337/465)
回答No.3

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

tomomo20
質問者

お礼

>トリガーは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。もう少し自分なりに試してみます。

  • capy2009
  • ベストアンサー率72% (337/465)
回答No.2

> ファイルがフォルダに入ったらアクションを実行するのはもちろん、フォルダ内でファイルを保存した時にも同時にPDFが作成できるようにできればと思うのですが… 新規保存ならば Folder Action が実行されて PDF が作成されるはずですが、すでにフォルダ内にあるファイルを上書き保存した時にも実行したいということでしょうか? それはちょっと面倒です。 Folder Action を起動するシグナルとしては、フォルダに新規アイテムが追加される/フォルダからアイテムが取り除かれる/フォルダが開かれる/フォルダのウィンドウが移動される/フォルダウィンドウが閉じられる の5種類がありますが、単にアイテムを上書きしただけでは起動されません。 やるとすれば、各ファイルの変更日付を監視するスクリプトを常時起動しておいて、変化があれば PDF 化を実行ということになるでしょう。自分で一からスクリプトを書くことになります。 実用を考えるなら、最初のスクリプトで PostScript ファイルが PDF 変換後に "Original Files" に移動する設定のままにしておけば、次に同じファイルを保存しても新規保存になるために Folder Action が起動して、PDF ファイルは上書きされます。

tomomo20
質問者

お礼

Folder Action を起動するシグナルは5つなんですね、とても勉強になりました。ありがとうございます! >新規保存ならば Folder Action が実行されて PDF が作成されるはずですが、すでにフォルダ内にあるファイルを上書き保存した時にも実行したいということでしょうか? まさにそうなんです。が、結構大変な作業が必要なのですね…。同じ標準である「add - new item alert.scpt」もよく使っていて、それは上書き保存でもスクリプトが反応した為、同じ原理で出来るのかと思っていたのですが、そのスクリプトを解析しても自分のレベルでは良くわからずじまいでした。 ただ、おっしゃる通り最初に教えていただいた53行目を書き換えてPDFファイルが上書きされるようになっただけでもとてもありがたいです!いずれおっしゃられている「変更日付を監視するスクリプト」というのも考えてみたいですが…、まずは現状で進めつつ、自分なりにもいろいろと調べてみようと思います。またいずれお力をお借りする事も出てきてしまうかと思いますが、何卒ご教授いただければと思います。いろいろと本当にありがとうございました!

関連するQ&A