Access y word

Hola.
Tengo el siguiente problemilla:
Tengo un documento de word con marcadores. Me gustaría conectar los datos de un select que hago por vba a esos marcadores.
¿Cómo lo hago?
Gracias.

3 respuestas

Respuesta
1
Puedes utilizar el asistente de word para combinar correspondencia o desde access exportar a word con el siguiente código:
Sub fromAccessToWordTable()
Dim myWDApp As Word.Application
Dim myRange As Word.Range, myTable As Word.Table
Dim acell As Word.Cell, emailCol As Integer
Dim rst1 As New Recordset, irow As Integer
'Abre la tabla con los nuevos contactos
With rst1
.ActiveConnection = CurrentProject.Connection
.Open "oe4pab", , adOpenKeyset, adLockOptimistic, adCmdTable
End With
'Crea un ejemplar de una aplicación Word y activa
'la animación "trabajando" del Asistente.
AssistantWorkingOn
Set myWDApp = CreateObject("Word.Application")
'Añade un documento a la aplicación y una tabla al documento.
'Especifica el número de filas igual a una más que el de la tabla
'de direcciones de correo electrónico de Access.
myWDApp.Documents.Add
Set myRange = myWDApp.ActiveDocument.Range(0, 0)
myWDApp.ActiveDocument.Tables.Add Range:=myRange, _
NumRows:=rst1.RecordCount + 1, NumColumns:=3
'Inserta las cabeceras de las columnas para la tabla
With myWDApp.ActiveDocument.Tables(1).Rows(1)
.Cells(1).Range.Text = rst1.Fields(0).Name
.Cells(2).Range.Text = rst1.Fields(1).Name
.Cells(3).Range.Text = rst1.Fields(2).Name
End With
'Inserta el nombre, los apellidos y el correo electrónico de la tabla Access.
'Inserta la información de contacto desde la segunda hasta la última fila.
For irow = 2 To myWDApp.ActiveDocument.Tables(1).Rows.Count
emailCol = 0
For Each acell In _
myWDApp.ActiveDocument.Tables(1).Rows(irow).Cells
acell.Range.Text = IIf(IsNull(rst1.Fields(emailCol)), _
"", rst1.Fields(emailCol))
emailCol = emailCol + 1
Next acell
rst1.MoveNext
Next irow
'Da formato a la tabla para que se ajuste al contenido, activa la animación inactiva y
'hace visible Word para que el usuario pueda ver la tabla de Word.
myWDApp.ActiveDocument.Tables(1).AutoFitBehavior wdAutoFitContent
AssistantIdleOn
myWDApp.Visible = True
End Sub
Sub runMLabels()
Dim myWDApp As Word.Application
'Abre la conexión con Word y lo hace visible.
Set myWDApp = CreateObject("Word.Application")
myWDApp.Application.Visible = True
'Ejecuta el procedimiento de etiquetas para el correo.
myWDApp.Application.Run "printPreviewLabels"
End Sub
Sub runFormLetters()
Dim myWDApp As Word.Application
'Abre la conexión con Word y lo hace visible.
Set myWDApp = CreateObject("Word.Application")
myWDApp.Application.Visible = True
'Ejecuta el procedimiento del formulario de cartas.
myWDApp.Application.Run "printPreviewLetters"
End Sub
Espero que te funcione, cualquier duda estoy a tus ordenes
Respuesta
1
Realmente nunca he trabajado con este tipo de vínculos.
Lamento no poder ayudarte.
Respuesta
1
Me gustaría que fueras más preciso

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas