Joseluissystruiz, buenos días:
Si utilizas DBF-CDX como yo, puedes hacer uso de la clase TWord. Yo hago así:
El usuario crea sus propios diseño de WORD y los campos a reemplazar tiene que escribirlos mediante "Corchetes". Así de esa manera, la case TWord los identifica y los sustituye por los campos DBF. Así, de un Word de 1 página te imprime un Word de tantas páginas como registros en la DBF tengas.
Un ejemplo
TRY
oWord:= TWord():New()
oWord:openDoc(camino+'\modelos\temporal.doc')
do while .not. eof()
if clie->seleccion=.t.
oWord:Replace( '<NOMBRE>' , alltrim(clie->NOMBREc) ) ; oWord:Replace( '< NOMBRE >' , alltrim(clie->NOMBREc) )
oWord:Replace( '<DIRECCION>', alltrim(clie->DIRECCc) ) ; oWord:Replace( '< DIRECCION >', alltrim(clie->DIRECCc) )
oWord:Replace( '<POBLACION>', alltrim(clie->POBLAC) ) ; oWord:Replace( '< POBLACION >', alltrim(clie->POBLAC) )
oWord:printDoc()
oWord:Replace( alltrim(clie->NOMBREc), '<NOMBRE>' )
oWord:Replace( alltrim(clie->DIRECCc), '<DIRECCION>' )
oWord:Replace( alltrim(clie->POBLAC), '<POBLACION>' )
endif
skip
enddo
oWord:endpage()
oWord:end(.f.)
Un saludo.
LORENZO.