FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para CA-Clipper Manipular ficheros Word desde Five
Posts: 396
Joined: Tue Mar 18, 2008 09:41 PM
Manipular ficheros Word desde Five
Posted: Wed Mar 19, 2008 08:22 PM

Hola a todos, tengo una duda y es que desde clipper puedo procesar ficheros a bajo nivel .txt, ya sabeis fwrite() fread() memoread() y todo eso.

Mi pregunta es si se puede procesar ficheros de otros formatos como word, excel, pdf etc desde five para extraer cadenas de texto, modificar, etc etc.

Gracias y un saludo.
Javier.

Javier,

FWH 8.04 2008
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Manipular ficheros Word desde Five
Posted: Wed Mar 19, 2008 09:30 PM

Hola Javier,

Desde FiveWin 16 bits (para Clipper) no puedes hacerlo, ya que necesitas usar la clase TActiveX (solo disponible en 32 bits).

Con FWH (FiveWin para Harbour/xHarbour) puedes usar activex y manejar documentos word, excel, pdf, etc. perfectamente. En estos foros hay muchos ejemplos de uso.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 396
Joined: Tue Mar 18, 2008 09:41 PM
harbour
Posted: Fri Mar 21, 2008 10:39 AM

Perdón por mi ginorancia, pero yo solo domino clipper y fivewin.

¿Es la misma sintaxis el harbour? ¿puedo ver algun ejemplo de codigo fuente sin tener que comprarlo antes?

Gracias.

Javier,

FWH 8.04 2008
Posts: 396
Joined: Tue Mar 18, 2008 09:41 PM
harbour
Posted: Fri Mar 21, 2008 11:11 AM
Antonio Linares wrote:Hola Javier,

Desde FiveWin 16 bits (para Clipper) no puedes hacerlo, ya que necesitas usar la clase TActiveX (solo disponible en 32 bits).

Con FWH (FiveWin para Harbour/xHarbour) puedes usar activex y manejar documentos word, excel, pdf, etc. perfectamente. En estos foros hay muchos ejemplos de uso.


Estoy buscando la forma de extraer cadenas de caracteres o contarlas o modificarlas de esos ficheros. ¿donde puedo encontrar un ejemplo? tambien quisiera ver un ejemplo de la sintaxis de harbour, ya que yo programo en clipper y fivewin pero no se si me costaria mucho adaptarme.
Javier,

FWH 8.04 2008
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Manipular ficheros Word desde Five
Posted: Fri Mar 21, 2008 03:14 PM

Javier,

Harbour es 100% compatible con Clipper, pero genera aplicaciones en 32 bits :-)

Los ejemplos de FiveWin en el directorio samples, pueden construirse sin modificaciones (practicamente) con Harbour.

No disponemos de versión demo

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 77
Joined: Wed Jun 28, 2006 06:38 PM
Manipular ficheros Word desde Five
Posted: Wed Mar 26, 2008 12:08 AM

que tal Javier, utilizo word para generar la saldia de documentos tomado como base un documento prefabricado (plantilla) nunca he intentado crear desde "cero" un documento pero segun yo, si se puede...

con lo que utilizo puedo buscar un texto expecifico, seleccionar toda una linea, copiar y pegar texto, reemplazar texto y pegar lineas de texto (mis necesidades no han hido mas alla)... :lol: te pongo un ejemplo de como lo hago, por cierto esto me funciona con FW+clipper y tambien con FWH + xharbour

CON FW+CLIPPER necesitas "linkear" la OLE2.LIB
CON FWH+xHarbour debe funcionar natural.

oWord:=TOleAuto():New( "Word.Application" )
oWord:Documents:Open("C:\DOCTO.DOC")

oTexto := oWord:Selection()
oclip := oWord:Selection()

*PARA REEMPLAZAR UN TEXTO
oTexto:HomeKey(6) //NOS VAMOS AL INICIO DEL DOCUMENTO
oTexto:find:text := "CADENA" //LO QUE VOY A BUSCAR
oTexto:find:Forward = .t. //BUSCAR HACIA ABAJO
if oTexto:find:execute() //EJECUTAR LA BUSQUEDA Y SI FUE TRUE
oTexto:Text := "HOLA MUNDO" //REEMPLAZO EL TEXTO
endif

*PARA COPIAR UN TEXTO
oTexto:HomeKey(6) //NOS VAMOS AL INICIO DEL DOCUMENTO
oTexto:find:text := 'CADENA' //LO QUE VOY A BUSCAR
oTexto:find:Forward = .t. //BUSCAR HACIA ABAJO
if oTexto:find:Execute() //EJECUTAR LA BUSQUEDA Y SI FUE TRUE
oclip:SelectRow() //SELECCIONO EL RENGLON
oclip:Copy() //COPIO LA SELECCION
endif

PARA PEGAR ALGO QUE COPIE
oclip:paste()
PARA CORTAR LA SELECCION
oclip:CUT()

oWord:Set("WindowState", 1 ) // Maximizado
oWord:Set("PrintPreview",1)
oZoom:=oWord:get("ActiveWindow"):get("ActivePane"):get("View"):get ("zoom")
oZoom:pagefit := 2
oWord:Visible := .T.

oTexto:End()
oword:end() //Esto NO va en xharbour

pues esto es mas o menos como lo uso ojala te sirva...
Saludos.
Alex.

Posts: 396
Joined: Tue Mar 18, 2008 09:41 PM
Gracias
Posted: Thu Mar 27, 2008 08:54 PM

Muchas gracias Alex por tu respuesta. Con esto será suficiente para entender el concepto y tener una base.

Salu2.
Javier. :wink:

Javier,

FWH 8.04 2008
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Manipular ficheros Word desde Five
Posted: Sat Mar 29, 2008 09:25 AM

Javier,

Esperamos tu llamada para darte asistencia remota configurando FWH :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 396
Joined: Tue Mar 18, 2008 09:41 PM
Usando OLE para trabajar con Word
Posted: Sun May 18, 2008 09:15 PM
Estimado Foro,

Tengo este ejemplo hecho con FWH;

#include "Fivewin.ch"

function Main()

   local oWord, oTxt

   oWord := TOLEauto():New( "Word.Application" )
   oTxt  := oWord:Selection()

   oWord:Documents:Open( "c:\fwh\g\dbf\plantilla\DOCU.DOC" )

   [color=red]oTxt:Find:Text    := "([NOMBRE])"[/color]
   oTxt:find:Forward := .T.
   oTxt:find:execute()

   oTxt:Text := "Margarita"

   oWord:Visible := .T.

return nil


Pero cuando ejecuta la linea marcada en rojo, me da el siguiente error:

Application
===========
   Path and name: C:\FWH\G\DBF\ole.exe (32 bits)
   Size: 1,139,712 bytes
   Time from start: 0 hours 0 mins 0 secs 
   Error occurred at: 05/18/08, 23:13:58
   Error description: Error 1438684/9  'Item' no es ninguna propiedad.: OPEN
   Args:
     [   1] = C   c:\fwh\g\dbf\plantilla\DOCU.DOC

Stack Calls
===========
   Called from:  => TOLEAUTO:OPEN(0)
   Called from: ole.prg => MAIN(10)


¿alguna idea?
Javier,

FWH 8.04 2008
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Manipular ficheros Word desde Five
Posted: Mon May 19, 2008 11:39 AM

Javier,

Prueba a poner una llamada a MsgInfo() aqui para ver si llega:

oWord:Documents:Open( "c:\fwh\g\dbf\plantilla\DOCU.DOC" )
MsgInfo( "abierto" )

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 396
Joined: Tue Mar 18, 2008 09:41 PM
Manipular ficheros Word desde Five
Posted: Mon May 19, 2008 04:55 PM

Si llega, Antonio.

Javier,

FWH 8.04 2008

Continue the discussion