2013-04-28 69 views
0

我编写了这个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

我可能会丢失一些原因列表转换为文本,但这似乎与多个项目的工作:

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 
+0

这似乎很好地工作,只要你在开始处添加'tell application'Finder'来激活',谢谢你的帮助! – AppleScripter 2013-04-28 20:37:25

相关问题