perdon, un ejemplo con una tabla de visual fox sería este:
aca te mando una rutina que hice, espero ayudarte
USE \servidorases$pc IN 0 SHARED &&&esta es una tabla de fox
*sacas la consulta:
SELECT expediente,nom_proy,prop_proy,property,pc.distrito,dto_alc_ss,alltrim(entidad)+" "+alltrim(n_entidad)+" "+alltrim(acceso1)+" "+alltrim(n_acceso1)+" "+alltrim(acceso2)+" "+alltrim(n_acceso2)+" "+alltrim(acceso3)+" "+alltrim(n_acceso3)+poligono as direccion;
FROM PC;
WHERE expediente="00061990";
INTO CURSOR tabla
SELECT tabla
*-------------------------
*Aca se manda la información de visual fox a Word
*--------------------------*
LOCAL oDocument, oRange
OWord = CreateObject ( "Word.Application")
oWord.Visible = .F.
*oDocument = oWord.Documents.Add() &&&&Te crea el docuemnto de word, se puede trabajar con una plantilla ya predefinida,
oDocument = oWord.Documents.open("c: est1")&&si ya tienes una plantilla
oRange = oDocument.Range()
oRange.Font.Name="Arial"
oRange.Font.size=10
oRange.InsertParagraphAfter()
oWord.Selection.InsertAfter("San Salvador"+', '+STR(DAY(date()),2)+' de '+ CMONTH(date())+' de '+STR(YEAR(date()),4))
oRange.InsertAfter("Numero de Expediente" + ": " + expediente )
oRange.InsertParagraphAfter()
oRange.InsertAfter("Nombre del Proyecto" + ": " + nom_proy )
oRange.InsertParagraphAfter()
oRange.InsertAfter("Propietario Proyecto: " + TRIM(prop_proy))
oRange.InsertParagraphAfter()
oRange.InsertAfter("Dirección Proyecto: " + TRIM(direccion))
*ORange.InsertAfter ( "A la atención de:" + TRIM (Contact) + "-" + Title)
oRange.InsertParagraphAfter()
*oRange.InsertAfter(direccion)
oRange.InsertParagraphAfter()
*oRange.InsertAfter(TRIM(City) + " " + TRIM(Region) + PostalCode )
oRange.InsertParagraphAfter()
oWord.ActiveDocument.Bookmarks.add("fecha")
*oRange.InsertAfter(UPPER(Country))
oword.activedocument.saveAs("C:
esolucion.doc") &&&save as si queres guardar los cambios sin afectar tu plantilla, para el caso se utilice una plantilla
oWord.Visible = .T. && Inspect the results
MessageBox("Proceso concluido",64,"Aviso")
oWord.Quit(.F.) && Parra cerrar a winword
*ThisForm.Release