• ベストアンサー
  • すぐに回答を!

applescriptでduplicateした後に

applescriptでのファイル操作に関して質問させて頂きます。 宜しくお願いいたします。 現在、macOS10.8.5で、applescriptのコードを書いております。 tell application "Finder" set mynewfile to (duplicate myfile to toDir) のように、ファイルをコピーした後に、コピー先のファイルを別のアプリケーション(今回はphotoshop CS6)で開いて、処理を継続したいと考えています。 duplicateの戻り値は、class:document fileで、mynewfileから /Users/macbook/Desktop/toDir/myfile.jpg のようなUNIX形式のパステキストを作って渡せば良いと考えたのですが、どうしても取得できません。 ダメもとで、 tell application "Adobe photoshop CS6" open mynewfile などとしても、エラーで動きませんが、 単純に、 open mynewfile とすると、拡張子に対応したデフォルトのアプリケーションでファイルが開きます。 そこで以下2つ質問をさせて頂きます。 質問1) コピーしたファイルを指定したアプリケーションで開くためには、どのような処理を記述すれば良いのでしょうか? 質問2) duplicateの戻り値から、UNIX形式のパステキストを得るためには、どのような処理が適切でしょうか? applescriptに詳しい方、どうかご教示をお願いいたします。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数351
  • ありがとう数15

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

  • ベストアンサー
  • 回答No.1
  • harawo
  • ベストアンサー率58% (3742/6450)

「ピクチャ」フォルダにある画像ファイル「Photo.tiff」を、アプリケーション「プレビュー」で開くスクリプトは、以下になります。 tell application "Finder" open POSIX file "/Users/(username)/Pictures/Photo.tiff" using POSIX file "/Applications/Preview.app" end tell このスクリプトを参考にすれば、あなた自身で問題を解決できるのではないでしょうか?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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のバージョンの参照を取得しておいて、それを指定して実行する等と言った感じです。 お分かりでしたら、ヒントだけでも頂けましたら幸いです。 何卒、宜しくお願い申し上げます!

関連するQ&A

  • OSXのアップルスクリプトでのフォルダーの扱い方

    アップルスクリプトでドロップレットを作成し、 フォルダをドロップした時にフォルダの中のアイテムの名前を変更したいとします。 repeatでループを回そうとして、例えば on open Dropped tell application "finder" activate repeat with myFile in Dropped set name of myFile to name of myFile & ".jpg" end repeat end tell end open としても フォルダの中身がDroppedに入りません。 OS9.xの時はこれで大丈夫だったのですが。 フォルダの中身の参照(?)を取る時はどうすればよいのでしょう? 色んなMLの過去ログを調べましたがどうもOSXでの アップルスクリプトの記事が無く困ってます。 どうかご教授ください。 環境は iMac SlotLoading OS10.1.5 メモリ768Mです。

    • ベストアンサー
    • Mac
  • applescript で pdfを扱いたいんです。

    applescriptで、pdfファイルをアクロバットリーダ6で開けるスクリプトを書いたのですがうまくいきません。どなたか教えて頂きませんか? プレビューで開けるならopen一発で簡単なのですが、アクロバットリーダで開けたいのです。 僕は以下のようなのを書いています。 もしや、アクロバットはpdfを開けるイベントハンドラは対応して無いのでしょうか? tell application "finder" open file "01.pdf" of desktop using application "Adobe Reader 6" end tell

    • ベストアンサー
    • Mac
  • AppleScriptでpkgファイルの実行方法

    AppleScriptであるpkgファイルを実行させてインストール画面を表示させたいのですがどのように記述すればよいでしょうか。 tell application "Install" open "file.pkg" end tell ではできませんでした。 宜しくお願い致します。

    • ベストアンサー
    • Mac

その他の回答 (1)

  • 回答No.2

記載されたアプリが見つからない場合 Adobe photoshopはどこにありますか? と聞かれて、指定したらスクリプト内容も書き換わるのでは?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございます。 確かにそうでしたね。 呼び出しを application id "com.adobe.photoshop" で、ためしたところ、スムーズに開くようです。 複数バージョンのphotoshopが混在してても、application id で指定すると、最上位バージョンが自動的に指定されるということなのでしょうか?

関連するQ&A

  • applescriptでファイルをコピー

    様々な場所にあるファイルをapplescriptでフルパスを集めるところまでできました。 "/home/documents/xxxxx"_"/home/pic/yyyyy"_ のような形になっています。アンダーバーは半角スペース このコピーしたいファイルも10や20ならターミナルにそのままコピーペーストして cp "/home/documents/xxxxx"_"/home/pic/yyyyy"_ ~/test のようにすれば順番にコピーしてくれるのでいいのですが 数が多くなればターミナルが受け付けてくれなくなります。 分割してコピーペーストをしてもいいのですが、 なんとかこのコピーまでの処理をapplescriptでできないかなと思いまして質問をさせていただきました。 多いときには数百のファイルになるので、繰り返し処理だと不可がかかりすぎるのではないかと思いループは使っていません 同時にいくつものファイルを処理しそうで怖いのと、数が少ない状態で試しても分からないので。 あと1つのファイルのサイズは1M以下から大きくて15Mくらいです。 できるだけ負荷をかけないようにコピーする方法はありますか? applescript内で変数にこのフルパスが入っているので、automatorかapplescriptの処理だと助かります。 よろしくお願いします。

    • ベストアンサー
    • Mac
  • AppleScriptでアプリケーション再起動

    表題の件について教えてください。 VNCアプリケーションなんですが、動作が不安定で、 一旦遠隔で操作して接続を切ると、 当該アプリケーションを再起動しないと繋がらなくなるものがあります。 そこで、mailのメッセージルールで、 メール受信するとAppleScriptを実行するように設定して、 当該アプリケーションを再起動するようなapplescriptを作ってみましが 上手く動作してくれません。 AppleScriptを実行とすると、「接続が無効です」とのエラーメッセージが出て、 activateのところが水色のハイライトがつきます。 どのように修正したらよいか教えて下さい。 なお、実行するOSはlion10.7.4です。 tell application "アプリケーション名" quit activate end tell

    • ベストアンサー
    • Mac
  • AppleScriptやXcodeについて質問できるフォーラムやサイトをご存知ありませんか?

    AppleScriptやXcodeについて質問できるフォーラムやサイトをご存知ありませんか? このサイトでも簡単なScript程度なら回答を得られますでしょうか? ちなみに以下の質問をしたいです tell application "System Events" key code {1, 2, 3} end tell の様な記述をAppleScriptでアプリケーション化してDockに登録したのですがスクリプトが上手く起動する時と起動しない時があります AppleScriptが起動するのが遅くスクリプトが実行できないのかな?と思ってみたりもしてます AppleScriptが起動している時や2回目3回目だと上手く起動します PCを再起動した直後や長時間放置した後などは上手く起動しません よろしくお願いします

    • ベストアンサー
    • Mac
  • applescriptでウインドウを閉じたい

    職場のローカルネットワーク内にあるmacのあるフォルダに接続するために以下のように書きました。 接続はうまくいきます。ただし同時にウインドウも開きます。 そのウインドウは不要であり、他のスタッフの目にもつくので閉じたいのですがうまくいきません。(とくにエラーも出ず、そのままウインドウが表示されたままになります) どうすればよろしいでしょうか。 tell application "Finder" activate open location "afp://***.***.***.***/Foleder/test.csv" close Finder window 1 end tell macOS10.8 Applescriptエディタ2.4.3 を使用しています

    • 締切済み
    • Mac
  • アップルスクリプトで、新しいウインドウを開きたい。

    アップルスクリプトで、IEを全面に持ってくるところ※までは出来たのですが、IEのファイルメニューから、「新しいウインドウを開く」を実行させたいときには、どの様に記述すればよろしいか教えてください。 ※ tell application "Internet Explorer" Activate end tell 最終目的は、ファイルメーカープロのスクリプトで、「urlを開く」を利用したいのですが、一度に、複数のページを表示させたいと考えています。

    • ベストアンサー
    • Mac
  • AppleScriptでデキストデータをExcel

    AppleScriptでテキストファイルをExcelで開きたいのですが、 区切り文字をスペースと|の2つを指定したいのです。 スペースだけなら tell application "Microsoft Excel" open text file filename ¬ "Mac HD:Folder:File.txt" data type delimited with space end tell とできたのですが、|を組み合わせた場合がわかりません。 ご教授ください。

    • ベストアンサー
    • Mac
  • Applescriptで特定アプリのWindowの順序変更

    Applescriptで特定のアプリケーション(今回取り組んでいるのはFirefox)で複数のウインドウを開いた場合におけるActiveになっているWindowの入れ替えに取り組んでいます。 ============================================= tell application "Firefox" ??????????????? window 2 ??????? window 1 ??? end tell ============================================= 朝からずっと取り組んでいるんですが、真ん中の部分をどんなふうに書けばいいのかわからず、時間だけが過ぎていきます。どちら様か知恵をおかしいただけたら幸いです。よろしくお願いいたします。

    • 締切済み
    • Mac
  • applescriptでのクリップボードへの格納方法

    applescript初心者です。 単純なことなのですが今、テキストファイル上の数字を検索しクリップボードに格納するscriptを作成挑戦中です。 tell application "Jedit X" tell front document find string "\\d+" with grep end tell end tell ※\は逆スラッシュ?です。 と、検索までは何とか辿り着きました。 ここから先、エディタ上では選択文字を単純にコピーした状態にするにはどうすれば良いのでしょうか? ご教授頂ければと思います。 よろしくお願いします。

    • ベストアンサー
    • Mac
  • indesignでのapplescript

    はじめまして、indesign CS3で使用するapplescriptに関しての質問です。 自動で出力をしてくれるスクリプトを作りたいと思い、やってみたのですがうまくいきません。 色々調べて作ってみたのがこれです。 tell application "Finder" set filesInFolder to files in (choose folder) repeat with theFile in filesInFolder if name extension of theFile is "indd" then -- 拡張子を指定 set priset to "B4" -- プリントプリセットを指定 tell application "Adobe InDesign CS3" activate open theFile tell document 1 print using priset without print dialog close saving no end tell end tell end if end repeat end tell ここまではなんとかできたのですが、現段階では1階層下までのinddドキュメントしか読取ってくれません。 1見開きごとにパッケージしてできた子フォルダを一つの親フォルダにまとめることが多いので、フォルダ▶フォルダ▶.inddになります。 これでは親フォルダを指定したときに2階層下の子フォルダに分かれて入っている複数の.inddを一気に出力することができません。 何か解決策はありませんでしょうか? また、現段階に関してのご指摘もございましたらよろしくお願いします。

  • ApplescriptでFlash Playerを

    flash player の「開く」からurlを打ち込んで表示させたいのですが。上手くいきません。。 safariやfirefoxで開いてしまうのです。 どう直せば良いのでしょうか。教えてください。 あと、開いた時に画面をフルスクリーンにもしたいです。 こんな感じで書いていました。 20分間隔でリフレッシュさせながら、指定のurlのファイルをフルスクリーンで表示させたいのです。 ____________ on idle tell application "Flash Player" to activate tell application "System Events" tell process " Flash Player" open location "http://~ " end tell end tell return 1200 end idle _____________ 教えてくださいよろしくお願いいたします。