- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:applescriptでduplicateした後に)
applescriptにおけるファイル操作とアプリケーションの開き方についての質問
このQ&Aのポイント
- applescriptを使用して、ファイルをコピーした後に別のアプリケーションで開く方法について質問します。具体的には、コピーしたファイルを指定したアプリケーションで開く処理と、duplicateの戻り値からUNIX形式のパステキストを取得する方法について教えてください。
- 現在、macOS10.8.5でapplescriptを書いています。ファイルをコピーした後、コピー先のファイルを別のアプリケーションで開きたいと考えています。しかし、duplicateの戻り値からUNIX形式のパステキストを取得することができず困っています。また、openコマンドを使用してもうまく動作しません。そこで、質問1)コピーしたファイルを指定したアプリケーションで開く処理について、質問2)duplicateの戻り値からUNIX形式のパステキストを取得する方法について教えていただきたいです。
- 質問1)applescriptでコピーしたファイルを指定したアプリケーションで開くためには、どのような処理を記述すれば良いのでしょうか?質問2)duplicateの戻り値からUNIX形式のパステキストを取得するための適切な処理について教えてください。現在、macOS10.8.5でapplescriptを使用していますが、うまく動作しません。どなたか詳しい方、ご教示をお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
「ピクチャ」フォルダにある画像ファイル「Photo.tiff」を、アプリケーション「プレビュー」で開くスクリプトは、以下になります。 tell application "Finder" open POSIX file "/Users/(username)/Pictures/Photo.tiff" using POSIX file "/Applications/Preview.app" end tell このスクリプトを参考にすれば、あなた自身で問題を解決できるのではないでしょうか?
その他の回答 (1)
- chieffish
- ベストアンサー率44% (1149/2554)
回答No.2
記載されたアプリが見つからない場合 Adobe photoshopはどこにありますか? と聞かれて、指定したらスクリプト内容も書き換わるのでは?
質問者
お礼
ありがとうございます。 確かにそうでしたね。 呼び出しを application id "com.adobe.photoshop" で、ためしたところ、スムーズに開くようです。 複数バージョンのphotoshopが混在してても、application id で指定すると、最上位バージョンが自動的に指定されるということなのでしょうか?
お礼
tell application "Finder" set mynewfile to (duplicate myfile to toDir) open mynewfile using POSIX file "/Applications/Adobe Photoshop CS6/Adobe Photoshop CS6.app" で、見事開きました! 本当にありがとうございます!心より感謝御礼申し上げます。 ひとつ疑問が湧いたのですが、このアプリを指す絶対パスの記述は、もう少し柔軟性をもたせて、記述する方法はあるのでしょうか? この記述ですと、私の今使っているmacでしか動作しなさそうですので、例えば、あくまでも感覚的なコードになりますが、 【絶対、動きませんが】 set psdApp to application "Adobe Photoshop" tell application "Finder" set mynewfile to (duplicate myfile to toDir) open mynewfile using psdApp みたいに、はじめにそのmacで使われているデフォルトのPhotoshopのバージョンの参照を取得しておいて、それを指定して実行する等と言った感じです。 お分かりでしたら、ヒントだけでも頂けましたら幸いです。 何卒、宜しくお願い申し上げます!