2

OSX Mountain Lion で、LogMeIn アプリケーションと「ファイルを共有」するためのショートカットが存在しないため、作成しようとしました。Automator を開き、「watch me do」の下にアプリケーションを作成しました。[記録] をクリックしてメニュー バーに移動し、[LogMeIn] > [ファイルを共有...] をクリックして、そのダイアログ ボックスで [ファイルを共有] をクリックし、記録を停止しました。次に、コマンドを Automator にコピーし、AppleScript エディタに貼り付けました。実行速度を上げるためにいくつかの変更を加えたいと考えています。Automator の速度として 10x を選択しましたが、ショートカットを実行してから約 13 秒かかります。この AppleScript を変更してインスタントにする方法を知っている人がいたら、遠慮なく変更してください。

どんな助けでも大歓迎です。

ありがとう

-- Click the “<fill in title>” menu.
set timeoutSeconds to 2.0
set uiScript to "click menu bar item 1 of menu bar 1 of application process \"LogMeIn Menubar\""
my doWithTimeout(uiScript, timeoutSeconds)

-- Share a file...
set timeoutSeconds to 2.0
set uiScript to "click menu item \"Share a file...\" of menu 1 of menu bar item 1 of menu bar 1 of application process \"LogMeIn Menubar\""
my doWithTimeout(uiScript, timeoutSeconds)

-- Click the “Share a file...” button.
set timeoutSeconds to 2.0
set uiScript to "click UI Element \"Share a file...\" of group 1 of window \"LogMeIn\" of application process \"LogMeIn\""
my doWithTimeout(uiScript, timeoutSeconds)

on doWithTimeout(uiScript, timeoutSeconds)
    set endDate to (current date) + timeoutSeconds
    repeat
        try
            run script "tell application \"System Events\"
" & uiScript & "
end tell"
            exit repeat
        on error errorMessage
            if ((current date) > endDate) then
                error "Can not " & uiScript
            end if
        end try
    end repeat
end doWithTimeout
4

1 に答える 1

0

かっこいい。AppleScript Editor でこれらの「watch me do」コマンドをコピー アンド ペーストできるとは知りませんでした。使い道が見つかると思います。

とにかく、UI スクリプトがそれを行うだけなので、コードを「インスタント」にすることができない場合があります。ただし、コードを通常の AppleScript として記述していた場合、次のようになります。試してみてください、多分それは役立つでしょう。そのアプリケーションを持っていないため、テストできません。幸運を。

: 「Share a file…」を「Share a file」と省略記号 (オプション-セミコロン) にしました。問題がある場合は、省略記号を 3 つのピリオドに変更してみてください。

set timeoutSeconds to 2.0

tell application "LogMeIn Menubar" to activate
tell application "System Events"
    tell process "LogMeIn Menubar"
        click menu bar item 1 of menu bar 1

        -- delay until it opens
        set startTime to current date
        repeat until exists menu 1 of menu bar item 1 of menu bar 1
            delay 0.2
            if (current date) - startTime is greater than timeoutSeconds then
                error "Waited too long for menu 1 of menu bar item 1 of menu bar 1"
            end if
        end repeat

        click menu item "Share a file…" of menu 1 of menu bar item 1 of menu bar 1

        -- delay until it opens
        set startTime to current date
        repeat until exists group 1 of window "LogMeIn"
            delay 0.2
            if (current date) - startTime is greater than timeoutSeconds then
                error "Waited too long for group 1 of window \"LogMeIn\""
            end if
        end repeat

        click UI element "Share a file…" of group 1 of window "LogMeIn"
    end tell
end tell
于 2012-12-10T18:50:58.023 に答える