Hola le comparto una función para combinar varios archivos word en uno, le pasamos a la función combinar la matriz con los nombres de los archivos solo los nombre sin ruta luego la ruta la indicamos en la variable cDirectorio y al final podemos visualisar el archivo combinado o guardarlo
Static Procedure Combinar(mFiles)
local cDirectorio := op:temp // directorio de los archivos word a combinar
local oWord, oDoc, i, lExito := .F.
local oWait
WaitOn("Espere, combinando contratos....",@oWait )
oWord := CreateObject("Word.Application")
oWord:Visible := .F.
oDoc := oWord:Documents:Add()
oWord:ChangeFileOpenDirectory(cDirectorio)
FOR i := 1 TO Len(mFiles)
IF File(cDirectorio + mFiles[i])
oWord:Selection:InsertFile(mFiles[i], "", .F., .F., .F.)
// Opcional: agregar salto de página
IF i < Len(mFiles)
oWord:Selection:InsertBreak(7)
ENDIF
ELSE
MsgStop("Archivo no encontrado: " + cDirectorio + aArchivos[i])
ENDIF
NEXT
oWord:Set("WindowState", 1 )
oZoom:=oWord:get("ActiveWindow"):get("ActivePane"):get("View"):get ("zoom")
oZoom:pagefit := 0
oWord:Visible := .T.
/*
oDoc:SaveAs(cSalida)
oDoc:Close(.F.)
oWord:Quit()
*/
lExito := .T.
WaitOff( @oWait )
Return