Mandar Datos de Vb6 a Word

Hola.
Me gustaría saber como podría mandar datos de mi aplicación visual basic 6 a word, es decir, tengo una aplicación vb6 con access y tengo un formulario en el cua se muestran los datos de una tabla en cajas de texto, y quiero que al dar a un botón se genere un archivo de word con esos datos, es urgente por favor
Gracias

2 Respuestas

Respuesta
1
Te envío el ejemplo.
No olvides valorar la respuesta.
Hola.
Me podrías mandau un ejemplo al correo por favor.
Gracias de corazón
Pues lo que pides se hace con el objeto Word. Application, de hecho, con este objeto se puede acceder a todas las funcionalidades de Word. Te pongo un ejemplo de un listado sacado a partir de RDO:
Private Sub Listado_Click()
Dim Word As Word.Application
Dim lstrSQL As String
Dim lobjRSRegistros As rdoResultset
On Error GoTo GestionError
MousePointer = vbHourglass
lstrSQL = "SELECT campo1, campo2 FROM TABLA"
Set lobjRSRegistros = gobjCN.OpenResultset(lstrSQL, rdOpenStatic)
' Comenzamos a rellenar los campos de la plantilla Word
Set Word = CreateObject("Word.Application")
On Error GoTo GestionError2
Word.Documents.Add Template:=App.Path & "\plantilla.dot", newtemplate:=False
'Word.Visible = True
'Word.Application.WindowState = wdWindowStateMaximize
While Not lobjRSRegistros.EOF
Word.Selection.TypeText lobjRSRegistros!campo1 & ", " & lobjRSRegistros!campo1 & vbCrLf
lobjRSRegistros.MoveNext
Wend
If MsgBox("Pulse 'Si' para imprimir el listado directamente o 'No' para enviar el listado a MS Word", vbYesNo Or vbQuestion, "Imprimir listado") = vbYes Then
Word.ActiveDocument.PrintOut Background:=False
Word.ActiveDocument.Close savechanges:=wdDoNotSaveChanges
Word.Quit
On Error GoTo GestionError
Else
Word.Visible = True
Word.Application.WindowState = wdWindowStateMaximize
End If
MousePointer = vbDefault
lobjRSRegistros.Close
Set lobjRSRegistros = Nothing
Exit Sub
GestionError2:
Word.ActiveDocument.Close savechanges:=wdDoNotSaveChanges
Word.Quit
GestionError:
'ErrorEstandar lstrSQL
MousePointer = vbDefault
End Sub
No olvides valorar la respuesta.
Hola.
¿Pero hay que agregar algún componente nuevo o algo? ¿Si copio el código directamente funcionara? ¿Me podrías manda un ejemplo hecho?
mi email es [email protected]
Gracias
Deberás añadir en tu proyecto la referencia a "Microsoft Office X.X Object Library".
El código es solo un ejemplo. Funcionará si haces la conexión a la base de datos mediante RDO, tienes una tabla llamada TABLA, con campos CAMPO1 y CAMPO2, una plantilla de word "plantilla.dot" ... vamos que le eches un vistazo y lo adaptes a tus necesidades.
Perdona pero me equivoqué al decirte la referencia, la que debes incluir en tu proyecto es "Microsoft Word X.X Object Library".
Respuesta
1
Primero debes añadir la referencia a la librería Microsoft Word 9.0 Object Library.
Luego tienes que poner este código:
'Objetos de Word
Dim wdApp As Word.Application
Dim myDoc As Word.Document
Dim p1 As Paragraph
Dim cadena As String
Set wdApp = New Word.Application 'Crea la aplicación Word
Set myDoc = wdApp.Documents.Open(App.Path & "\documento.doc")
'Si el archivo no existe y quieres crearlo pon:
Set myDoc = wdApp.Documents.Add(App.Path & "\documento.doc")
Set p1 = myDoc.Paragraphs.Add 'Crea un párrafo para añadir texto al documento
'Especifica el tamaño y la fuente de letra:
myDoc.Words.Item(myDoc.Words.Count).Font.Name = "Times New Roman" 'Tipo de fuente
myDoc.Words.Item(myDoc.Words.Count).Font.Size = 10 'Tamaño de fuente
cadena = TextBox1 & " " & TextBox2 & " " .... & TextBoxN
p1.Range.InsertAfter (cadena) 'Inserta el párrafo al final del documento
Al final cierra los objetos utilizados:
Set p1 = Nothing
Set MyDoc = Nothing
Set wdApp = Nothing

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas