Un enfoque sería escribir un applecript para cargar Outlook y luego ejecutar el script.
Copie lo siguiente en una nueva secuencia de comandos utilizando el Editor de secuencias de comandos en Applications/Utilities
use AppleScript version "2.4" -- Yosemite (10.10) or later
use scripting additions
on run
tell application "Microsoft Outlook"
activate
-- now tell Outlook to do other stuff
end tell
-- if you have another script already written that you want to run, then
set theScript to ("path:to:script.scpt") as alias
run script theScript
-- or if your script takes arguments like the this:
--on MsgBox(Msg)
-- display dialog Msg
--end
set theScript to load script file ("path:to:script.scpt")
tell theScript
MsgBox("Hello World!")
end tell
end run
Puede guardar el applecript como un applet (Guardar como - > seleccionar "Aplicación" para el tipo), cambiarle el nombre a Outlook 2016 y cambia su icono para que coincida con el icono de Outlook 2016 y lo deje en su base en lugar de Outlook.
La desventaja es que, cuando Outlook se está ejecutando, tendrá tanto el elemento de conexión de Outlook como el applet en su base, pero ese es un pequeño precio a pagar.
Otro enfoque es hacer un programa silencioso que verifique si Outlook se está ejecutando o no.
Cuando el estado de ejecución de Outlook cambie de falso a verdadero, ejecutará un script.
Esto implica hacer un applet de Applecript que se ejecute al inicio, que permanezca abierto todo el tiempo y que se oculte del dock.
Consumirá muy pocos recursos, pero sigue siendo un precio tenerlo funcionando todo el tiempo.
use AppleScript version "2.4" -- Yosemite (10.10) or later
use scripting additions
-- Need to save with "Stay Open" option
property CheckTimeSeconds : 60 -- controls the number of seconds between each check to see fi Outlook is running
property WasRunning
property IsRunning
on run
set WasRunning to false
set IsRunning to false
return
end run
on idle
set IsRunning to appisrunning("Microsoft Outlook")
if IsRunning and not WasRunning then -- Outlook has been opened in the last CheckTimeSeconds seconds.
--run script here
end if
set WasRunning to IsRunning
return CheckTimeSeconds
end idle
on appisrunning(appName)
tell application "System Events" to (name of processes) contains appName
end appisrunning
- Guardar como una aplicación con la opción "Mantener abierto después de ejecutar el controlador" seleccionada
- Configura el programa para que no tenga un icono de base
- Cargue el programa al iniciar sesión para su usuario (arrastre su aplicación a la lista en Preferencias del sistema - > Usuarios y grupos - > Elementos de inicio de sesión)
Si desea cerrar este programa, deberá hacerlo manualmente desde el Monitor de actividad.