我正在开发一个Applecript来促进FCPX 10.2.3中的一些工作流程 我正在使用UI脚本执行此任务。 我想在某个文件列表(事件浏览器)中选择两个或多个资源。我可以解决浏览器中的行并选择它们,但我一次只能实现一个选择。
select *soundfile*
set selected of *soundfile* to true
set value of attribute "AXSelected" of soundfile to true
其中 soundfile 例如
row 5 of outline 1 of scroll area 1 of splitter group 1 of splitter group 1 of group 5 of splitter group 1 of window "Final Cut Pro"
工作正常。只有它取消选择所有其他行。
我正在尝试找到一种向应用程序发送命令选择的方法。
另一个想法: 有问题的元素的父元素有一个属性“AXSelectedRows”,但我无法使用它。 如果它不为空,它将返回一个数组,其项目值为'application'系统事件“' 所以我认为它并没有真正落实。
有没有办法实现多重选择?
不一定是苹果脚本......
答案 0 :(得分:1)
Applescript中有一个错误。您可以将UI元素的selected属性设置为false而不更改其他所选元素,但如果将其设置为true,则取消选择所有其他UI元素。
我还尝试使用"按键{命令}"和"点击",但没办法。我找到的唯一解决方法是选择所有行并取消选择不需要的行。
下面的脚本是Mail中多行选择的示例。它首先使用"命令a"选择所有行(框中的所有消息)。快捷方式,它取消选择Rows_to_Select列表中不存在的所有行。
tell application "Mail" to activate -- just to make it front window
set Rows_to_Select to {1, 3, 5} -- the rows you want to select
tell application "System Events"
tell process "Mail"
tell table 1 of scroll area 1 of group 1 of splitter group 1 of splitter group 1 of front window
keystroke "a" using command down -- select all rows
repeat with I from 1 to count of rows
if I is not in Rows_to_Select then set selected of row I to false
end repeat
end tell
end tell
end tell