... also there will certainly be more elegant ways (than a long sleep) of waiting for the application to load up before sending the key commands - a quick google turned up this :
nb - substitute your VEP window name where I've put "%VEP%"
------------------------------------
; WinWait, WinTitle, WinText, Seconds, ExcludeTitle, ExcludeText
WinWait, %VEP% ; Waits until the specified window exists
IfWinNotActive, %VEP%, ,WinActivate, %VEP%
WinWaitActive, %VEP% ; Waits until the specified window is active
----------------------------------
So your script (now without the long sleep) will read something like:
------------------------------------
Run, C:\Program Files\Vienna Ensemble Pro\Vienna Ensemble Pro.exe -server
; WinWait, WinTitle, WinText, Seconds, ExcludeTitle, ExcludeText
WinWait, %VEP% ; Waits until the specified window exists
IfWinNotActive, %VEP%, ,WinActivate, %VEP%
WinWaitActive, %VEP% ; Waits until the specified window is active
Sleep 100
Send !f
sleep 50
send {down}
sleep 50
send {right}
sleep 50
send {enter}
ExitApp
----------------------------
and if that doesn't work just go with the long sleep...