2016-12-27 27 views
-2

Numbersスプレッドシートに接続するAppleScriptアプリケーションがあります。AppleScriptをタイマーとして使用する

リピートループ内では、現在の日付が10秒ごとに記録され、スプレッドシートセルが更新されます。

私は、タイマーを停止し、最終の '現在の日付'を別のテーブル/セルに記録し、AppleScriptアプリケーション(Numbersではなく)を終了する方法が必要です。

答えて

0

これは、繰り返しループを終了する条件によって異なります。

次のブール式がtrueに評価されている場合は、

  • repeat until/repeat whileで不確定な繰り返しループを残すことができます。
  • exit repeatいつでも可能です。
+0

おかげヴァディアンが、私が終了されるように繰り返しループを有効にしても前に自分自身(ダイアログ)または数字を招くことなくなり、「停止」ボタンで表示されるダイアログのようなものを使用することができるように期待していましたアクティブなアプリにすることができます。多分私は元の質問にその情報を含めるべきでした! – markh

+0

質問の情報が広すぎて、具体的な回答が得られません。 – vadian

+0

OK。リピートループがあり、stop/okダイアログをクリックするまでリピートループするアイコンストップの表示ダイアログがありますか? – markh

0

ここでは、リピートループを使用せずに、必要な機能を実行するために、「ステイオープン」アプリケーションとアイドルハンドラを使用する例を示します。

on idle 
    tell me to activate 
    set q to display dialog "stop?" buttons {"yes"} giving up after 10 
    if button returned of q is "yes" then 
     quit 
    else 
     beep --replace with your Numbers stuff 
    end if 
    return 10 

end idle 

on quit 
    continue quit 
end quit 
+0

@markhの2つの方法があります。あなたはスクリプトを使ってリピートループを使って "give up after"メソッドを使うことができます(ダイアログを邪魔するのはあなたのことです)、あるいはあなたのスクリプトがあなたを待つのを待つことができたらどうしますか?コントロールキー?あなたは自由なサードパーティのCheckModifierKeysとシェルスクリプトを使ってこれを行うことができます: 'do shell script"/usr/local/bin/checkModifierKeys control "'(これを使うリピートループの最上部で、ボタンを押したままにしておくと、リピートループが終了します) – CRGreen

+0

ボタン付きの専用ウィンドウが必要な場合は、もう1つのオプションがあります。このように動作します:プロセスを開始するには、ボタンを押します。それを終了するには、escキーかcommand-periodを押します。唯一の欠点は、別のアプリで何か他のことをやっていて、コマンド期間やescを押したときにループが終了する可能性があるということです(その他の理由で)。これはSmile(フリースクリプトエディタ)を使用して可能です。あなたが興味を持っているならば、私はあなたにスマイルでこれをする完全な答えを与えることができます。興味がないなら私は気にしません。 – CRGreen

関連する問題