Skip to content

Instantly share code, notes, and snippets.

@redsweater
Created October 12, 2011 15:35
Show Gist options
  • Star 12 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save redsweater/1281540 to your computer and use it in GitHub Desktop.
Save redsweater/1281540 to your computer and use it in GitHub Desktop.
If you use ScanSnap, you can have GUI Scripting automate the process of switching among your scan profiles ...
-- Launches ScanSnap Manager, if necessary. Opens the ScanSnap Manager settings window,
-- changes to named profile, applies changes, and closes the window
-- Example:
SwitchToProfile("Standard")
on SaveActiveApplication()
return application
end SaveActiveApplication
on OpenOptionsWindow()
tell application "System Events"
tell application process "ScanSnap Manager"
activate
set isWindowOpen to false
repeat while isWindowOpen is false
try
window 1
set isWindowOpen to true
on error
tell menu 1 of menu bar item "ScanSnap Manager" of menu bar 1
click menu item "Settings..."
end tell
delay 0.5
end try
end repeat
end tell
end tell
end OpenOptionsWindow
on ApplyChangesAndCloseOptionsWindow()
tell application "System Events"
tell application process "ScanSnap Manager"
-- Apply
click button "Apply" of window 1
-- Close
click button 1 of group 2 of window 1
end tell
end tell
end ApplyChangesAndCloseOptionsWindow
-- Our definition of "Is Running" is that it has the menu item available for opening the settings window … we wait for that
-- because if we just wait for it to be "launched" it may still be setting up ...
on EnsureScanSnapRunning()
tell application "System Events"
launch application "ScanSnap Manager"
set isLaunched to false
repeat while isLaunched is false
try
menu 1 of menu bar item "ScanSnap Manager" of menu bar 1 of application process "ScanSnap Manager"
set isLaunched to true
end try
end repeat
end tell
end EnsureScanSnapRunning
on SwitchToProfile(profileName)
EnsureScanSnapRunning()
OpenOptionsWindow()
tell application "System Events"
tell application process "ScanSnap Manager"
tell (pop up button 1 of group 2 of window 1)
click
tell menu 1
try
click menu item profileName
on error
cancel
display dialog "Can't find the target menu item \"" & profileName & "\", please make sure you have a profile set up with this name, or modify the script to match the desired name"
end try
end tell
end tell
end tell
end tell
ApplyChangesAndCloseOptionsWindow()
end SwitchToProfile
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment