--
    --.--

    スポンサーサイト

    上記の広告は1ヶ月以上更新のないブログに表示されています。
    新しい記事を書く事で広告が消せます。

    このエントリーをはてなブックマークに追加
    2013
    10.23

    AppleScriptでのダイアログ表示を改善(2)

    AppleScriptネタです。 アプリケーション形式で保存して起動する時ももちろんのこと、
    AppleScriptエディタで編集中に実行してもダイアログが最前面に出てきたらいーなー、
    と常々思っていました。

    以前にご紹介した解決策:

    tell application "System Events" to tell process "Finder"
    activate
    display dialog "Hello, World!"
    end tell

    裏でこっそりFinderに頼むやり方で、ちょっと姑息(笑)
    自分でも活用してませんでした(^-^;)
    今回、もう少しマシな書き方を思いついたのでご報告^-^


    きっかけは最近、アプリ形式で保存していたスクリプトを書き直していた時のこと。
    自分のパスを得る時に

    set aPath to path to me
    (この後、aPathにファイルAを保存する処理が続く)

    と書いて、AppleScriptエディタ上で試しに実行したら
    ファイルAは「アプリ形式のスクリプト」のディレクトリではなく、
    「AppleScriptエディタ」のディレクトリに保存されたんです^-^;;


    そっか、me=スクリプトの実行の主体になっているアプリなんだ!
    ということは・・・

    tell application me?
    みたいなことができたら…

    tell my application?
    tell application (name of me)?
    tell meとか変じゃね??

    やってみたらtell meで通ってしまった(笑)(name of meでも通ります)

    これなら

    アプリ形式スクリプトから実行している時は
    tell me = tell application "アプリ形式スクリプト"

    AppleScriptエディタ上で実行している時は
    tell me = tell application "AppleScriptエディタ"

    と解釈されるので、実行環境が違ってもオレオレで話が通ります(笑)

    これを使ってdisplay dialogを行えば、他のアプリに迷惑をかけずに
    確実に最前面にダイアログを表示させることができるはず^-^


    という訳で、新しく考えた方法(ちょっとマシ):

    tell me
    activate
    display dialog "Hello, World!"
    end tell


    あまり見かけない書き方なので気が引けますが(汗)
    オレオレ詐欺っぽくて気に入ったw




    おまけ:
    今日はAppleの新製品発表イベントの日。
    ここの実況見ながらブログ書いてます^-^
    Live Blog: Apple's October 2013 iPad event

    Mavericksタダなの?
    Haswell搭載MacBook Pro。軽いのはいいことだ
    MacPro,もっと高くてもっとうるさいと思ってた($2999~,12dBAって静か過ぎ)

    今回のお目当てはHaswell搭載Mac Miniだったんだけどなー
    iPad Air!これで勘弁してやるかw
    関連記事

    このエントリーをはてなブックマークに追加
    トラックバックURL
    http://w6o6n.blog.fc2.com/tb.php/68-b7c5ef99
    トラックバック
    コメント
    管理者にだけ表示を許可する
     
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。