我写了这个AppleScript,通过从列表中选择对话框打开“最近的项目”子菜单中的选定项目。它适用于第一个项目,然后优雅地退出,然后继续打开其他项目。
你会在下面看到,我添加了一些“显示对话框”,让我知道它是否应该有效,而且一切都表明它应该。不过,它没有......
tell application "Finder"
activate
try
tell application "System Events"
tell process "Finder"
tell menu "Recent Items" of menu item "Recent Items" of menu 1 of menu bar 1
set menuItemNames to (get name of (every menu item whose position ≠ missing value and name ≠ "Applications" and name ≠ "Documents" and name ≠ "Servers" and name ≠ missing value))
set text item delimiters of AppleScript to ","
set targetMenuItems to (choose from list menuItemNames with prompt "Choose a recent document to view:" with title "Recent Documents" OK button name "Open" with multiple selections allowed) as list
set targetMenuItems to (text items of targetMenuItems as text)
if targetMenuItems ≠ "false" then
set menuitemCount to (count text items in targetMenuItems)
display dialog menuitemCount
display dialog (text item 1 of targetMenuItems)
set x to 1
repeat menuitemCount times
set targetItem to (text item x of targetMenuItems)
display dialog targetItem
click menu item targetItem
set x to x + 1
end repeat
end if
end tell
end tell
end tell
on error errorMsg
display dialog errorMsg
end try
end tell
答案 0 :(得分:0)
我可能会错过将列表转换为文本的某些原因,但这似乎适用于多个项目:
delay 0.3
tell application "System Events" to tell (process 1 where it is frontmost)
tell menu 1 of menu item "Recent Items" of menu 1 of menu bar 1
set menuitems to name of (menu items where position is not missing value and name is not "Applications" and name is not "Documents" and name is not "Servers" and name is not "Clear Menu" and name is not missing value)
tell application (path to frontmost application as text)
activate
choose from list menuitems with multiple selections allowed
end tell
repeat with m in result
click menu item m
end repeat
end tell
end tell