Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Automatización de Correspondencia entre Word y Access mediante Visual Basic 6.0

Estas en el tema de Automatización de Correspondencia entre Word y Access mediante Visual Basic 6.0 en el foro de Visual Basic clásico en Foros del Web. Hola a todos!!! El caso es que tengo una base de datos llamada Cuestionario en la siguiente ubicación: C:\Proyecto\Cuestionario.mdb y lo que quiero hacer es ...
  #1 (permalink)  
Antiguo 27/03/2008, 02:53
 
Fecha de Ingreso: octubre-2007
Mensajes: 36
Antigüedad: 16 años, 6 meses
Puntos: 0
Automatización de Correspondencia entre Word y Access mediante Visual Basic 6.0

Hola a todos!!! El caso es que tengo una base de datos llamada Cuestionario en la siguiente ubicación: C:\Proyecto\Cuestionario.mdb
y lo que quiero hacer es que los campos de la tabla "Datos" que son "numinicio" y "numfinal" aparezcan en el documento word que yo desee abrir.

Ej: Nº Cuestionario: numinicio
Nº Páginas: numfinal

Por lo pronto tengo implementado parte del código pero me da bastantes problemas, aparte de que crea un documento word en le que poner los datos y no me deja abrir uno que yo seleccione.

Estoy un poco perdido en este punto... alguien que pueda ayudarme!!!

¡¡¡GRACIAS!!!

La parte del código que tengo hecha es la siguiente:

Private Sub Form_Load()
'Start Word.
Set oApp = CreateObject("Word.Application")
End Sub
Private Sub Command1_Click()
Dim oMainDoc As Word.Document
Dim oSel As Word.Selection
Dim sDBPath As String

'Start a new main document for the mail merge.
Set oMainDoc = oApp.Documents.Add

With oMainDoc.MailMerge

.MainDocumentType = wdFormLetters

'Set up the mail merge data source to Northwind.mdb.
sDBPath = "C:\Proyecto\Cuestionario.mdb"
.OpenDataSource Name:=sDBPath, _
SQLStatement:="SELECT * FROM [Datos]"

'Add the field codes to the document to create the form letter.
With .Fields
Set oSel = oApp.Selection
.Add oSel.Range, "Nº Cuestionario, [numinicio]"
oSel.TypeParagraph
.Add oSel.Range, "Nº Pagina, [numfinal]"
oSel.TypeParagraph

End With
End With

'Perform the mail merge to a new document.
With oMainDoc
.MailMerge.Destination = wdSendToNewDocument
.MailMerge.Execute Pause:=False
End With
End Sub
Private Sub oApp_MailMergeAfterMerge(ByVal Doc As Word.Document, ByVal DocResult As Word.Document)

'When the mail merge is complete, 1) make Word visible,
'2) close the mail merge document leaving only the resulting document
'open and 3) display a message.
Doc.Close False
oApp.Visible = True
MsgBox "Datos añadidos al documento: " & oApp.ActiveDocument.Name

End Sub
  #2 (permalink)  
Antiguo 10/11/2008, 03:44
Avatar de alamarcheta  
Fecha de Ingreso: mayo-2005
Ubicación: Isla Mêlée
Mensajes: 503
Antigüedad: 19 años
Puntos: 1
Hola. He encontrado este documento (Link) que igual te puede interesar. A mi también me gustaría utilizar esto porque me parece muy interesante pero nunca en programado en visual. ¿Es muy difícil hacerlo?
Saludos y gracias.
  #3 (permalink)  
Antiguo 11/11/2008, 01:52
Avatar de alamarcheta  
Fecha de Ingreso: mayo-2005
Ubicación: Isla Mêlée
Mensajes: 503
Antigüedad: 19 años
Puntos: 1
Lo estoy intentando hacer con el Office 2007 y el Visual Basic 2005 Express pero no me aclaro. ¿Me podéis echar un cable? Gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:14.