Hello,
Look at the following code:
= ddesetoption('SAFETY', .F.)
xchannel = DDEINITIATE('Winword', 'System')
IF xchannel=-1
WAIT WINDOW NOWAIT 'Starting Word'
IF EMPTY(cmd)
xchannel = -1
ENDI
RUN /n2 &cmd && cmd = fullpath for winword
xchannel = DDEINITIATE('Winword', 'System')
WAIT CLEAR
ENDI
IF xchannel=-1
&& Personal message routine
=dsp_msg('/o/l/b','Word could not be started...')
ENDIF
IF xchannel<>-1 .AND. chkcommand()
xchannel = DDEINITIATE("WinWord", "System"

std_title = window title application
= DDEEXECUTE(xchannel, '[AppActivate "&std_title",1]')
= DDETERMINATE(xchannel)
xchannel = DDEINITIATE("WinWord", "System"

&&& xdocument = fullpath for doucment
= DDEEXECUTE(xchannel, '[FileOpen "&xdocument"]')
= DDEEXECUTE(xchannel, '[MailMergeToDoc]')
= DDETERMINATE(xchannel)
xkey = INKEY(z_timeout)
* Close WinWord
xchannel = DDEINITIATE("WinWord", "System"

= DDEEXECUTE(xchannel, "[FileExit 2]"

= DDETERMINATE(xchannel)
ENDIF
= ddesetoption('SAFETY', xsafety)
This works with Word 2000 and FPW.
I hacked the wizard for mailmerge in FPW and got some info from there.
Lemme know if it helps
DWD