Inicio > Visual Basic > aja72 > Mandar Datos de Vb6 a Word

Mandar Datos de Vb6 a Word

Experto:
Usuario:
Fecha: 18/06/2004
Valoración: (5,00 sobre 5) Categoría: Visual Basic
16/06/2004
laudrupm100, usuario preguntando en Visual Basic
Usuario
Hola.

Me gustaria saber como podria mandar datos de mi aplicacion visual basic 6 a word, es decir, tengo una aplicacion 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 boton se genere un archivo de word con esos datos, es urgente por favor

gracias
16/06/2004
laudrupm100, experto respondiendo en Visual Basic
Experto
Hola, 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.
Saludos desde Cartagena.
16/06/2004
laudrupm100, usuario preguntando en Visual Basic
Usuario
hola.

pero hay que agregar algun componente nuevo o alog? si copio el codigo directamente funcionara?me podrias manda un ejemplo hecho?
mi email es laudrupm10000@hotmail.com

gracias
16/06/2004
laudrupm100, experto respondiendo en Visual Basic
Experto
Hola, 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.

Saludos desde Cartagena.
16/06/2004
laudrupm100, experto respondiendo en Visual Basic
Experto
Hola, perdona pero me equivoqué al decirte la referencia, la que debes incluir en tu proyecto es "Microsoft Word X.X Object Library".

Saludos.
17/06/2004
laudrupm100, usuario preguntando en Visual Basic
Usuario
hola.

me podrias mandau un ejemplo al correo por favor.

gracias de corazon
17/06/2004
laudrupm100, experto respondiendo en Visual Basic
Experto
Te envío el ejemplo.

No olvides valorar la respuesta.
Saludos desde Cartagena.
18/06/2004
laudrupm100, usuario preguntando en Visual Basic
Usuario
Excelente. Una fantástica solución.
Enlaces patrocinados