OPTION EXPLICIT Dim WshShell Dim counter Dim shell Dim Outlook Dim objWord Dim objshell 'Flash keyboard to show code is being hit Set WshShell = CreateObject( "WScript.Shell" ) counter = 0 While counter < 18 WshShell.SendKeys "{NUMLOCK}" WScript.Sleep 200 WshShell.SendKeys "{NUMLOCK}" WshShell.SendKeys "{CAPSLOCK}" WScript.Sleep 200 WshShell.SendKeys "{CAPSLOCK}" WshShell.SendKeys "{SCROLLLOCK}" WScript.Sleep 200 WshShell.SendKeys "{SCROLLLOCK}" WshShell.SendKeys "{CAPSLOCK}" WScript.Sleep 200 WshShell.SendKeys "{CAPSLOCK}" WshShell.SendKeys "{CAPSLOCK}" counter = counter + 1 WEnd 'It is not possible to poll the state of the keyboard using VBS but strangely if you use vb through word therefore it is necessary to open word turn caps lock check on the status and if caps locks is on turn them off Set objShell = CreateObject("WScript.Shell") Set objWord = CreateObject( "Word.Application" ) if objWord.CapsLock <> 0 then ' turn capslock off objShell.SendKeys "{capslock}" end if if objWord.NumLock = 0 then 'turn numlock on objShell.SendKeys "{numlock}" end if 'This line required to delay Windows long enough to allow the computer to open word - if it trys to quite word before fully open you will get an error depending on your machine speed may be better to use the actual seconds WScript.Sleep(100) objWord.Quit 'Startup MS Outlook CONST PATH_TO_OUTLOOK = """C:\Program Files (x86)\Microsoft Office\Office14\OUTLOOK.EXE""" CONST SHOW_NORMAL = 3 CONST MINIMIZE = 1 SET shell = WScript.CreateObject("WScript.Shell") ' Open Outlook shell.Run PATH_TO_OUTLOOK, 2 ON ERROR RESUME NEXT ' Grab a handle to the Outlook Application and minimize SET outlook = WScript.CreateObject("Outlook.Application") WScript.Sleep(100) outlook.ActiveExplorer.WindowState = SHOW_NORMAL ' Loop on error to account for slow startup in which case the ' process and/or the main Outlook window is not available WHILE Err.Number <> 0 Err.Clear WScript.Sleep(100) SET outlook = NOTHING SET outlook = WScript.CreateObject("Outlook.Application") WEND ON ERROR GOTO 0 SET outlook = NOTHING SET shell = NOTHING