AppleScript or Automator to click on menus in an application?

user141146 picture user141146 · Jan 21, 2010 · Viewed 14.4k times · Source

I'm not sure if this is do-able via AppleScript and/or Automator…but I'd like to be able to:

a) launch an application (I know this can be done pretty easily by AppleScript or Automator)

b) once the application is launched, use AppleScript or Automator to select specific menu items.

e.g. I'd like to launch Excel 2008 (I have the home/student edition which doesn't come preconfigured for Automator) and then click the "File" menu and click on "open".

Any pointers on where to go/look for how to select menu items like this (or if it's even possible at all)?

You can "sort of" do this using Automator's Record function, but Record is very brittle.

I'd rather be able to use AppleScript to simply grab an "array" that contains every menu item for the application and then programmatically click on the 0th menu item in my array…etc. etc.

Is this possible?

TIA

Answer

VaginalDragon picture VaginalDragon · Jun 29, 2012
tell application "###"

activate

end tell


tell application "System Events"

tell process "###"

click menu item "^^^" of menu "$$$" of menu bar 1

end tell

end tell

Put your application in for the ### and put your menu item in for the ^^^ and put your menu (file, edit, view, etc.) in for $$$. Capitalization matters.

Put it in applescript btw

EXAMPLE:

tell application "iTunes"

activate

end tell


tell application "System Events"

tell process "iTunes"

click menu item "as list" of menu "view" of menu bar 1

end tell

end tell

delete the double spaces EXCEPT BETWEEN END TELL AND TELL APPLICATION "SYSTEM EVENTS"