LOCAL o, lcOldErr, llError lcOldErr = on('error') on error llError = .t. o = GETOBJECT(,'outlook.application') on error &lcOldErr IF VARTYPE(o) = "O" *!* Outlook is running. Do what you want ELSE DECLARE INTEGER ShellExecute IN "Shell32.dll" ; INTEGER hwnd, ; STRING lpVerb, ; STRING lpFile, ; STRING lpParameters, ; STRING lpDirectory, ; LONG nShowCmd lnRetVal=Shellexecute(0,"Open","outlook","","",1) ? lnRetVal CLEAR DLLS ENDIF