>* Create message object >THIS.oMessage=CREATEOBJECT("MSMAPI.MAPIMessages.1") >WITH THIS.oMessage > .SessionID=lnSessionID Have you checked to see if you are getting beyond the point where the MAPI message is initiated? As mentioned in my original posting, there are two points at which Outlook may cause the dialog to trigger, once when the MAPI message is first created, and again when the created message is sent. The modal dialog may be triggered before the point at which you call the script prior to the Send method below. > .Compose() > .MsgIndex=-1 > .MsgNoteText=THIS.cBodyText > .MsgSubject=THIS.cSubject > .MsgReceiptRequested=llReceipt > .RecipDisplayName=THIS.aRecipients[1] > * Multiple recipients > FOR lnLoop=2 TO ALEN(THIS.aRecipients,1) > .RecipIndex=.RecipCount > .RecipDisplayName=THIS.aRecipients[lnLoop] > ENDFOR > * Copy recipients > IF THIS.nCCRecipCount>0 > FOR lnLoop=1 TO ALEN(THIS.aCCRecipients,1) > .RecipIndex=.RecipCount > .RecipDisplayName=THIS.aCCRecipients[lnLoop] > .RecipType=2 > ENDFOR > ENDIF > * Blind copy recipients > IF THIS.nBCCRecipCount>0 > FOR lnLoop=1 TO ALEN(THIS.aBCCRecipients,1) > .RecipIndex=.RecipCount > .RecipDisplayName=THIS.aBCCRecipients[lnLoop] > .RecipType=3 > ENDFOR > ENDIF > * Add any required attachment files > lnAttachPos=(LEN(THIS.cBodyText)-ALEN(THIS.aAttachmentFiles,1))-1 > IF NOT EMPTY(THIS.aAttachmentFiles[1]) > .AttachmentPosition=lnAttachPos > .AttachmentPathName=THIS.aAttachmentFiles[1] > * Multiple attachment files > FOR lnLoop=2 TO ALEN(THIS.aAttachmentFiles,1) > .AttachmentIndex=.AttachmentCount > lnAttachPos=lnAttachPos+1 > .AttachmentPosition=lnAttachPos > .AttachmentPathName=THIS.aAttachmentFiles[lnLoop] > ENDFOR > ENDIF > RUN /N7 cscript waitforoutlook.vbs -> this is your script Have you checked to make sure that CSCRIPT.EXE is installed and in the Win32 search path? In addition, you may be having a problem with the native VFP RUN command in your OS; by using /N7, you are launching the app inactive and minimized - try using /N3 instead, since as you've coded it, it might never get focus, and would never call AppActivate() or SendKeys() as a result. Better yet, don't use RUN, use API_APPRUN and use LaunchApp() to run the script (do not use LaunchAppAndWait() since VFP would not receive focus again until the script completes, and the script, never activating the Outlook dialog, since the MAPI method would not be called to create the dialog, might never terminate.) > .Send(llShowOutlook) >ENDWITH >>