Start up VBS

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

About Mark

Mark Brooks a forty something individual working and living in and around Edinburgh

This entry was posted in All, Configuration, Dev Ops, VBS Scripts. Bookmark the permalink.