キーストロークでAppleScriptダイアログリストから選択する方法


2

AutomatorでAppleScriptを使用してアプリケーションを作成しました。

すぐにアプリケーションは、ダイアログリストをユーザーに提示します。

デフォルトでは、リストからアイテムを選択するには2つの方法があります。

  1. マウスを使用します。

  2. キーボードの矢印キーを使用します。

しかし、私がやりたいのは、ユーザーに3番目のオプションを提供することです。キーストロークまたはキーボードショートカットに基づいてアイテムを選択することです。また、キーストロークまたはキーボードショートカットを押した後、選択したアイテムを直接送信したいと思います。

例えば:

on run {input, parameters}

    set FruitList to {"Banana (#1)", "Kiwi (#2)", "Mango (#3)", "Coconut (#4)", "Pear (#5)"}

    set FavoriteFruitAnswer to choose from list FruitList with title "Fruit Dialog" with prompt "What's your favorite fruit?" default items "Banana (#1)"


    if FavoriteFruitAnswer is false then
        error number -128 (* user cancelled *)
    else
        set FavoriteFruitAnswer to FavoriteFruitAnswer's item 1 (* extract choice from list *)
    end if

    return input
end run

上記のコードは以下を生成します。

発生させたいのは、ユーザーがキーボードの数字「2」を押した場合、「Kiwi(#2)」が選択され、「OK」ボタンが自動的に押された場合です。ユーザーがキーボードの「4」という数字を押すと、「ココナッツ(#4)」が選択され、「OK」ボタンが自動的に押されます。等々。

これは可能ですか?

私が知っていることは、ユーザーが手動で番号を入力し、ユーザーが手動で入力するテキストフィールドを持つダイアログボックスを作成し、番号が対応するフルーツタイプに割り当てられることです。

しかし、それは特にきれいな解決策ではありません。

回答:


2

AppleScriptは、あなたがで選択できるようにしたいがあれば、求めているかを正確に行うのに十分強くない、その後に置く番号を控えの果物の名前が、enterまだ後に押さする必要があります番号が押されました。そうでない場合は、リストアイテムエントリの最初の文字を押しても選択されます。

たとえば、次の2行のコードを次のように変更します。

set FruitList to {"Banana (#1)", "Kiwi (#2)", "Mango (#3)", "Coconut (#4)", "Pear (#5)"}
set FavoriteFruitAnswer to choose from list FruitList with title "Fruit Dialog" with prompt "What's your favorite fruit?" default items "Banana (#1)"

に:

set FruitList to {"1. Banana", "2. Kiwi", "3. Mango", "4. Coconut", "5. Pear"}
set FavoriteFruitAnswer to choose from list FruitList with title "Fruit Dialog" with prompt "What's your favorite fruit?" default items "1. Banana"

補足として、リストエントリをダブルクリックしてマウスで選択すると、enterキーが自動的に押されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.