AppleScript 列表对话框中的键盘快捷键
Keyboard shortcuts in an AppleScript list dialog
我正在寻找一种方法来为 AppleScript 中的列表对话框中的项目分配键盘快捷键。
我正在使用以下内容来显示一长串文件夹名称,并且正在寻找一种简单的方法来 select 列表中的项目。
set selectedFolderName to {choose from list folderList}
当前列表显示如下:
Office
Personal
Projects
...
Vendors
而且我必须使用光标键或鼠标在列表中向下导航到 select 一个项目。我希望能够显示:
a) Office
b) Personal
c) Projects
...
m) Vendors
或:
Office
Personal
pRojects
...
Vendors
然后我可以按 C 键(第一个示例)或 R 键(第二个示例)到 select 'Projects'。
我研究了 AppleScript 文档,并广泛搜索,但未能找到实现此目的的方法。
我不确定这是否是你想要的,但我使用下面的构造,这样我就可以按 "a",到 select 第一项,"b" 到 select 第二项,依此类推。
set litems to {"apples", "pears", "banana", "oranges", "plums", "grapes"}
set deli to "." & space & space
repeat with i from 1 to (count litems)
set item i of litems to character id (i + 96) & deli & item i of litems
end repeat
log litems
set theRes to choose from list litems
(*a. apples, b. pears, c. banana, d. oranges, e. plums, f. grapes*)
set origItem to text 5 thru -1 of item 1 of theRes
log origItem
—> plums
你问的第二个版本是不可能的。但是,首先是。此类功能没有内置任何内容,但您可以为其构建自己的子例程。您可以在列表项前加上字母或数字(我将使用数字,因为它更简单)。
on choose_from_list_with_shortcut(ls)
-- prepend the choices with "1) "
repeat with i from 1 to (count ls)
set item i of ls to (i as string) & ") " & item i of ls
end repeat
set chosenItems to choose from list ls
-- strip the prefixes from the chosen items
repeat with i from 1 to (count chosenItems)
set item i of chosenItems to text 4 thru -1 of item i of chosenItems
end repeat
return chosenItems
end choose_from_list_with_shortcut
另一种选择是直接开始输入。就像在 Finder 中一样,如果您键入字母 "pro,",列表将突出显示 "Projects."
我正在寻找一种方法来为 AppleScript 中的列表对话框中的项目分配键盘快捷键。
我正在使用以下内容来显示一长串文件夹名称,并且正在寻找一种简单的方法来 select 列表中的项目。
set selectedFolderName to {choose from list folderList}
当前列表显示如下:
Office
Personal
Projects
...
Vendors
而且我必须使用光标键或鼠标在列表中向下导航到 select 一个项目。我希望能够显示:
a) Office
b) Personal
c) Projects
...
m) Vendors
或:
Office
Personal
pRojects
...
Vendors
然后我可以按 C 键(第一个示例)或 R 键(第二个示例)到 select 'Projects'。
我研究了 AppleScript 文档,并广泛搜索,但未能找到实现此目的的方法。
我不确定这是否是你想要的,但我使用下面的构造,这样我就可以按 "a",到 select 第一项,"b" 到 select 第二项,依此类推。
set litems to {"apples", "pears", "banana", "oranges", "plums", "grapes"}
set deli to "." & space & space
repeat with i from 1 to (count litems)
set item i of litems to character id (i + 96) & deli & item i of litems
end repeat
log litems
set theRes to choose from list litems
(*a. apples, b. pears, c. banana, d. oranges, e. plums, f. grapes*)
set origItem to text 5 thru -1 of item 1 of theRes
log origItem
—> plums
你问的第二个版本是不可能的。但是,首先是。此类功能没有内置任何内容,但您可以为其构建自己的子例程。您可以在列表项前加上字母或数字(我将使用数字,因为它更简单)。
on choose_from_list_with_shortcut(ls)
-- prepend the choices with "1) "
repeat with i from 1 to (count ls)
set item i of ls to (i as string) & ") " & item i of ls
end repeat
set chosenItems to choose from list ls
-- strip the prefixes from the chosen items
repeat with i from 1 to (count chosenItems)
set item i of chosenItems to text 4 thru -1 of item i of chosenItems
end repeat
return chosenItems
end choose_from_list_with_shortcut
另一种选择是直接开始输入。就像在 Finder 中一样,如果您键入字母 "pro,",列表将突出显示 "Projects."