Word de office en visual fox

Saludos.
Es sencillo tengo el sistema con todos los datos pero quiero hacer una constancia de trabajo a un cliente.
1) Busco el cliente con cedula
2) Una vez que lo tengo en pantalla quiero
Cuando pulse un botón abra word un documento con la plantilla de la carta de trabajo, y que allí automáticamente me salga el nombre cuando gana fecha de ingreso etc...
Todos los datos del trabajador los tengo en una dbf pero quisiera eso que pasen a word pulsando imprimir y que abra ese documentop ya con los datos

3 respuestas

Respuesta
1
Te paso una rutina que yo utilizo para crear una lista en word si no la entiendes por favor avisame parte de este codigo deberias ponerlo en tu boton
COLE = 'COLEGIO'+' '+cur_valores.COLEGIO
 GES = 'Gestión :'+ALLTRIM(STR(cur_valores.ano))
 fec = 'Fecha: '+fecha(DATE(),'Santa Cruz, ')
oWord = CREATEObject("Word.Application")
oWord.Visible = .T.
oWord.documents.add
titulo='Lista de Alumnos'
columnas=4
SELECT cur_alumno
count for curso=thisform.cmbcurso1.value to nroreg
*oWord.activedocument.content.Insertafter(titulo)
oWord.Selection.Font.Bold = .T.
oWord.Selection.Font.Size = 14
oword.Selection.Text=Cole
oWord.Selection.Font.Bold = .T.
oWord.Selection.Font.Size = 10
oWord.activedocument.content.InsertParagraphAfter
oWord.selection.movedown
oword.Selection.Text=fec
oWord.activedocument.content.InsertParagraphAfter
oWord.selection.movedown
oWord.activedocument.content.InsertParagraphAfter
oword.Selection.Text=Ges
oWord.activedocument.content.InsertParagraphAfter
oWord.selection.movedown
oWord.activedocument.content.InsertParagraphAfter   &&& inserta una linea en blanco
oWord.selection.movedown
oWord.Selection.Font.Bold = .T.
oWord.Selection.Font.Size = 14
***oWord.Selection.activedocument.content= wdAlignParagraphCenter
oword.Selection.Text=titulo
oWord.activedocument.content.InsertParagraphAfter
oWord.selection.movedown
***oWord.Selection.ParagraphFormat.Alignment = wdAlignParagraphLeft
oWord.Selection.Font.Bold = .T.
oWord.Selection.Font.Size = 10
oword.Selection.Text=curs
oWord.activedocument.content.InsertParagraphAfter   &&& inserta una linea en blanco
oWord.selection.movedown
oWord.Selection.Font.Bold = .F.
oWord.Selection.Font.Size = 8
OWord. Activedocument. Content.InsertParagraphAfter   &&& inserta una linea en blanco
oWord.selection.movedown
oword. ActiveDocument. Content. Tables. Add(oword. Selection.range, nroreg+1, columnas)
 x=1
    * Escribe la cabecera para cada tabla
 oWord.ActiveDocument.Tables(x).Cell(1,1).Range.InsertAfter("NRO")
  oWord.ActiveDocument.Tables(x).Cell(1,2).Range.InsertAfter("CODE")
 oWord.ActiveDocument.Tables(x).Cell(1,3).Range.InsertAfter("N O M I N A")
 oWord.ActiveDocument.Tables(x).Rows(1).select
 oWord.selection.font.bold = .T.
 oWord.ActiveDocument.Tables(x).Rows(1).select
 ***oWord.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
 ** aqui empieza a escribir en Word desde el array   
 x=1
 linea=1
 go top
 Do While !eof()
   oWord.activedocument.tables(x).Cell(linea+1,1).Range.InsertAfter(RECNO())
   oWord.activedocument.tables(x).Cell(linea+1,2).Range.InsertAfter(codigo)
   oWord.activedocument.tables(x).Cell(linea+1,3).Range.InsertAfter(ALLTRIM(NOMINA))
   oWord.activedocument.content.InsertParagraphAfter
   oWord.selection.movedown
   linea=linea+1
   skip
 Enddo 
 oWord.WindowState = 1
RELEASE oWord
Respuesta
1
Puedes utilizar este enlace
http://support.microsoft.com/kb/250501/es
Hay un buen ejemplo de automatización de word con vfp
Respuesta
Yo he hecho eso pero funciona con la version de office 2003 pero no lo he probado con la version 2007

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas