PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → Automatización de Word
Automatización de Word
Iniciado por Karina M.O., nov., 19 2008 2:03 AM - 5 respostas
Publicado em novembro, 19 2008 - 2:03 AM
Hola, que tal... Estoy desarrollando un programa y requiero generar unos reportes en Word, lo que hago es sustituir valores en un documento "plantilla". Pero ahora el problema es que no se como hacer para que se posicione en un lugar determinado ni como agregar una tabla...Espero que alguien me pueda ayudar.

Para sustituir:
word is object OLE "Word.Application"
word>>Selection>>Find>>Execute("@Nombre",False,True,False,False,False,True,1,False,NombreContacto,2)
Publicado em novembro, 19 2008 - 12:56 PM
Hola karina,

Pienso que lo que no sabes es la sintaxis de MSWORD. Un buen método es de registrar una macro en WORD. El texto de la macro te ayudara para escribir el código en Wlanguage.

Ejemplo de macro

Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 11/19/2008 par pat
'
Documents.Open FileName:="hola.doc"


Es bastante fácil escribir la misma cosa en WinDev.
Word>>Documents>>Open("hola.doc")


--
Saludos
pat
http://megustawindev.free.fr
Publicado em novembro, 19 2008 - 7:26 PM
Primeramente, muchas gracias por contestar PAT.

Lo que sucede es que quiero agregar una tabla en un documento de word. Anteriormente (en otro lenguaje de programación) era así:

Dim TABLA as Word.Table
TABLA=word.ActiveDocument.Tables.Add(word.Selection.Range,3,5)
TABLA.Cell(1,1).Range.Text="No"
TABLA.Cell(1,2).Range.Text="Importe"
...

Al hacerlo en WinDev, no funciona... No se que es lo que me falta
Publicado em novembro, 20 2008 - 6:15 PM
Hola Karina,

Puedes probar este código. Funciona bien para mí.

Word is object OLE dynamic

Word = new object OLE "Word.Application"
Word>>Visible = True
Word>>Documents>>Add()

Tablas is object OLE dynamic
Tabla is object OLE dynamic

Tablas=Word>>ActiveDocument>>Tables
Tabla=Tablas>>Add(Word>>Selection>>Range(),3,5)
Tabla>>Cell(1,1)>>Range>>Text="No"
Tabla>>Cell(1,2)>>Range>>Text="Importe"

Delete Word


--
Saludos
pat
http://megustawindev.free.fr
Publicado em novembro, 20 2008 - 7:53 PM
Muchisimas gracias por tus respuestas PAT, funciona perfecto.
Publicado em janeiro, 02 2009 - 8:45 PM
Hola,
Quisiera hacer unas pregunta porque estoy evaluando desarrollar con windev, PERO recorriendo foros, noto lo siguiente:

1 ) Es bastante dificil y se reduce el "desarrolle 10 veces mas rapido" cuando se desea agregar algo que windev no tenga incorporado. Ejemplo: vi que no es tan facil hacer algo con WORD (se menciona que solo word97) salvo exportar. Mismo con Excel, etc.
Es decir, cuando uno debe apartarse de los "TEMPLATES" de Windev, ya estamos renegando como con cualquier otro lenguaje. ¿ Es así ?

2 ) ¿ No temen que TODA SU PRODUCCION dependa de una DONGLE KEY ? Si falla el dispositivo USB o de pronto CESA un intercambio comercial o se limita la importación o lo que sea, una protección FISICA puede bloquear toda mi producción. Imaginen si el fallo se produce un jueves o viernes que uno cuenta con un fin de semana de producción para entregar algo un LUNES: NO HABRIA MODO DE SOLUCIONAR LA SITUACION !! PC Soft sugiere "tomar un seguro" ( ??? ). No sirve de nada tener un seguro, ni reclamar una dongle ni nada SI NO SE PUEDE PRODUCIR. Cualquier elemento FISICO (desde la PC a una dongle) PUEDE FALLAR. Pero de una PC tengo backup. ¿ Entrega PC SOFT una dongle de backup o de alguna manera GARANTIZA LA CONTINUIDAD DE FUNCIONAMIENTO DEL SOFT ante una falla de la dongle ?

Alguien tiene idea de cuantos desarrolladres hay en ARGENTINA utilizando windev?

Obviamente no existe un lenguaje perfecto ni mucho menos. Pero es comprensible que alguien tenga DUDAS para invertir en un nuevo lenguaje cuando ve que no todo es oro lo que reluce. Y tambien a uno le pueden surgir dudas por DESCONOCIMIENTO, que ese es mi caso, y por eso pregunto lo elemental.

Gracias

JOSE
Argentina