Page 1 of 1

como manejar textos con FW

Posted: Mon Jul 24, 2006 5:08 pm
by colthop
Hola amigos:

Me podeis orientar, como puedo manejar archivos de texto como si fuera Word o algo parecido, pudiendo intercala en el texto campos de un fichero. El ejemplo mas practico seria el poder escribir una carta y enviarla a todos mis clientes personalizada.

Gracias.

Posted: Mon Jul 24, 2006 7:11 pm
by Manuel Valdenebro
Revisa el siguiente mensaje antiguo.

http://fivetechsoft.com/forums/viewtopic.php?t=2855

Posted: Wed Jul 26, 2006 11:46 am
by colthop
gracias de antemano Manuel por tu respuesta:

ahora etengo un problema he incorporado la libreria OLE2 al programa y he intentado abrir un fichero de word para empezar, pero siempre me el siguiente mensaje:

Variant type not implement from OleGetProperty()

y me abre word pero no introduce el archivo que quiero, por si os sirve os pongo el codigo que he puesto

FUNCTION docudocu()
store fichero to fich //nombre del archivo
oWord:=TOleAuto():New( "Word.Application" )
oWord:Documents:Open(fich) // abre el fichero
oDoc:=oWord:Get("ActiveDocument")
oWord:Visible := .T. // visible
oWord:Set( "WindowState", 1 ) // 0=MEDIO 1=Maximizado
oWord:End() // cierra el objeto ANULAR EN 32 bit
OleUninitialize()
RETURN (NIL)

si me podeis ayudar gracias.

Carlos

Posted: Wed Jul 26, 2006 12:37 pm
by Manuel Valdenebro
Carlos,

El comando STORE es del tiempo de Pedro Picapiedra (dBase III).

Intenta lo siguiente:

// Llamamos a la función con el nombre del fichero completo. En Clipper usa solo nombres cortos + la extensión, por ejemplo:

DOCUWORD ("contrato.doc")

- - - - - - - - - - - - - - - - - - - - - - - -

FUNCTION DocuWord ( cFichero )

// si no existe el fichero
if !file( cFichero )
ALERT ("NO EXISTE EL FICHERO")
RETURN nil
ENDI

oWord:=TOleAuto():New( "Word.Application" )

// si cuando no existe el fichero quieres crearlo, la alternativa seria:
if !file( cFichero ) // archivo nuevo
oWord:Documents:ADD() // abre fichero en blanco
oDoc := oWord:Get("ActiveDocument") // object (documento activo)
oDoc:Invoke( "SaveAs", cFichero ) // graba fichero
oDoc:Invoke('Close',0) // cierra fichero
ENDI

oWord:Documents:Open(cFichero) // abre el fichero

oWord:Visible := .T. // visible
oWord:Set( "WindowState", 1 ) // 0=MEDIO 1=Maximizado
oWord:End() // cierra el objeto pero no Word

RETURN nil

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Hasta que consiga que funciones, cada vez que te falla se queda Word abierto para Windows o un fichero que se llama (creo) wow....exe.- Cuando te falle, usa msconfig y elimina (cerrar) word.exe y el wow... que te digo. Si no te aclaras, reinicia el ordenador y punto.

Posted: Wed Jul 26, 2006 9:31 pm
by colthop
Gracias Manuel por tu ayuda, el problema lo tenia en no poner la ruta completa y poner la libreria OLE2 en primer lugar en vez del ultimo en el archivo LNK (sera creido). Ya me funciona de perlas como yo queria. de nuevo gracias. El comano store lo uso desde que comenze a programar con dbase III alla por el 88 y como copio mucho no lo he quetado ya que aveces me es más comodo pra ver cuando son muy largos los fuentes. Por otra parte existe alguna funcion como oPrn:Setup() para los Reporte.
Si lo sabes gracias por la informacion de antemano.

Un saludo

Carlos