Un approccio sarebbe scrivere un applescript per caricare Outlook e quindi eseguire lo script.
Copia quanto segue in un nuovo script utilizzando Script Editor in 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
Puoi salvare il applescript come applet (Salva con nome - > seleziona "Applicazione" per tipo), rinominalo in Outlook 2016 e cambia icona in modo che corrisponda all'icona di Outlook 2016 e lascialo sul dock al posto di Outlook stesso.
Il rovescio della medaglia è che, quando Outlook è in esecuzione, avrete sia l'elemento del dock di Outlook che l'applet sul dock, ma questo è un piccolo prezzo da pagare.
Un altro approccio consiste nel realizzare un programma silenzioso che controlli se Outlook è in esecuzione o meno.
Quando lo stato di esecuzione di Outlook passa da falso a vero, verrà eseguito uno script.
Ciò comporta la creazione di un'applet applescript che verrà eseguita all'avvio, rimarrà sempre aperta e verrà nascosta dal dock.
Consumerà pochissime risorse, ma è comunque un prezzo per averlo sempre in esecuzione.
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
- Salva come applicazione con l'opzione "Rimani aperto dopo l'esecuzione del gestore"
- Imposta il programma per non avere l'icona del dock
- Carica il programma all'accesso per il tuo utente (trascina la tua applicazione nell'elenco a Preferenze di Sistema - > Utenti e gruppi - > Elementi di accesso)
Se vuoi chiudere questo programma, dovrai farlo manualmente da Activity Monitor.