VB6 y word

Quiero crear informes en formato word (*.doc) a partir de datos tipo Text extraídos de una aplicación que he creado de VB6. ¿Cómo debo hacerlo? Es decir, cómo los "mando" a un archivo word. ¿Debo crearme u documento patrón o algo similar?
Necesito ayuda urgente que me quedan las Navidades para acabar el proyecto final de carrera...

1 respuesta

Respuesta
1
Para este caso es fácil y aun más fácil si fuera en excel
Bien selecciona el menu proyecto, luego referencias y te aparecerá un cuadro de dialogo, ahí deberás elegir una librería: Microsoft Word 9.0 Objet Library o Microsoft Word 10.0 Objet Library según la version del office selecciona la casilla y botón aceptar.
Y en el código:
Dim WordApp As Word.Application
WordApp.Documents.Add
WordApp.Documents(1).Content = "Texto"
WordApp.Visible = True
Obviamente al presionar la tecla F1 sobre alguna palabra te aparecerá la Ayuda del Office
No me funcionaba hasta que añadí:
set wordapp = new word.application
Supongo que lo que hago es correcto.
Pero me genera un documento por cada Text que añado, y mi idea era la de crear un documento entero con todos los Text que se han ido rellenando dentro de mi aplicación. Es decir, quiero crear un sólo documento de Word. Intuyo que habré de crear una plantilla en word y luego llamarla desde VB. Mis dudas son:
a)¿Cómo creo la plantilla?
b)¿Cómo hago para ir insertando los párrafos provinientes desde mi aplicación?
Muchas gracias por tu ayuda
Gracias, me has ayudado a encontrar lo que buscaba.
Es cierto se me olvido que tenias que iniciar el objeto
No hay necesidad de crear una platilla aunque es más fácil ya que teniendo la platilla es cosa de llenarlo ya sea por párrafos o crear tablas no visibles y llenar cada row o columna
Si utilizas una plantilla deberás abrirla en este caso con una tabla de 1 columna y 2 rows.
Dim WordApp As New Word.Application
Dim WordDoc As New Word.Document
Dim Tabla As Word.Table
WordApp.Documents.Open App.Path & "\plantilla.dot"
Set WordDoc = WordApp.ActiveDocument
Set Tabla = WordDoc.Tables(1)
With Tabla
.Cell(1, 1).Range.InsertAfter "texto1"
WordApp.Visible = True
.Cell(2, 1).Range.InsertAfter "texto2"
End With
'si deseas guardar la plantilla
WordApp.ActiveDocument.SaveA App.Path & "\newdoc", wdFormatDocument
WordApp.Visible = True
Set Tabla = Nothing
Set WordDoc = Nothing
Set WordApp = Nothing

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas