Hola a todos. Llevo muy poco tiempo intentando programar en VBA y estoy muy verde... Quiero hacer una combinación de correspondencia con word desde access, y encontré por ahí este código, en el que sólo he cambiado los nombres y rutas de los archivos. Al intentar rularlo me da un "error de compilación": me señala la primera instrucción y me dice "no se ha definido el tipo definido por el usuario". Qué es lo que he hecho mal?. Gracias de antemano. Pego el código:
Sub lanzaword()
Dim AppWord As Word.Application Dim DocWord As Word.Document Dim m_Provider As String
' Lanzamiento de Word Set AppWord = New Word.Application AppWord.Visible = True
' Apertura de la carta modelo Set DocWord = AppWord.Documents.Open(CurrentProject.Path & "\Certificado.docx")
' Provider = Base Access Clientes.mdb m_Provider = "Microsoft.ACE.OLEDB.15.0;Password="""";User ID=Admin;" _ & "Data Source=" & CurrentProject.Path & "\PRUEBAS DE PROGRAMACION.accdb; " _ & "Mode=Read;" ' Preparación del mailing para los pedidos no pagados With DocWord.MailMerge .OpenDataSource Name:= _ CurrentProject.Path & "\PRUEBAS DE PROGRAMACION.accdb", ConfirmConversions:=False, _ ReadOnly:=False, LinkToSource:=True, AddToRecentFiles:=False, _ Connection:=" & m_Provider & ", _ SQLStatement:="SELECT * FROM `CopiadeDietas`" .Destination = wdSendToNewDocument .SuppressBlankLines = True With .DataSource .FirstRecord = wdDefaultFirstRecord .LastRecord = wdDefaultLastRecord End With ' Lanzamiento del mailing .Execute End With End Sub
|