Macro, Crear documentos Word por cada usuario y a su vez, adjuntar archivos pdf en este documento

Debo ejecutar un código en VBA, el cual me permita crear documentos Word por cada usuario establecido en una tabla de Excel, cada usuario tiene 3 documentos pdf asociados que deben ir adjuntos a este Word, hasta el momento solo tengo el código que crea los documentos Word según una plantilla asignada, teniendo como nombre de documento los nombres de cada usuario y me los guarda en una carpeta. Ocupé los bookmarks de Word para ir adjuntando las partes que necesito pero no he logrado descifrar como adjuntar los pdf, ya que estos estarían guardados en una carpeta. El código cuenta con 2 funciones, la primera va guardando los datos de la tabla y la segunda crea el documento, agradecería cualquier ayuda por favor.

Type Persona

    nombre As String

    fecha As String

    bio As String

    noti As String

End Type

    Sub principal()

        Dim ws As Worksheet

        Dim tablaDatos As ListObject

        Dim fila As ListRow

        Dim datosPersona As Persona

        Set ws = ThisWorkbook.Sheets("Principal")

        Set tablaDatos = ws.ListObjects("Datos")

        Application.DisplayAlerts = False

        Application.ScreenUpdating = False

        For Each fila In tablaDatos.ListRows

            datosPersona.nombre = fila.Range(1, 2)

            datosPersona.fecha = fila.Range(1, 1).Text

            datosPersona.bio = fila.Range(1, 6)

            datosPersona.noti = fila.Range(1, 7)

            Call crearDoc(datosPersona)

        Next

    End Sub

Sub crearDoc(datosPersona As Persona)

        Dim objWord As Word.Application

        Dim objdoc As Word.Document

        Dim estaHoja As Worksheet

        Dim rutaCarpeta As String, nombreDoc As String

        Set estaHoja = ThisWorkbook.Sheets("Principal")

        rutaCarpeta = Range("RutaCarpeta").Value

        nombreDoc = Range("NombreArchivo").Value

        Set objWord = New Word.Application

        Set objdoc = objWord.Documents.Open(rutaCarpeta & nombreDoc)

        objWord.Visible = True

        With objdoc

        .Bookmarks("Nombre").Range.Text = datosPersona.nombre

        .Bookmarks("Fecha").Range.Text = datosPersona.fecha

        .Bookmarks("Bio").Range.Text = datosPersona.bio

        .Bookmarks("Noticias").Range.Text = datosPersona.noti

        End With

        nombreDoc = datosPersona.nombre & "_QA"

        objdoc.SaveAs2 Filename:=rutaCarpeta & nombreDoc

Objdoc. Close

ObjWord. Quit

    End Sub

Respuesta
1

[Ho la nicolas arevalo y bienvenido a TodoExpertos!

Visita:

Cursos de Excel y Macros - YouTube


Te paso el código para insertar pdf en un Word:

Sub InsertarPDFenWord()
'Por Dante Amor
  Dim WordApp As Word.Application
  Dim rutaPdf As String, archPdf As String
  '
  Set WordApp = New Word.Application
  WordApp.Documents.Open "C:\trabajo\datos\documento de prueba.docx"
  WordApp.Visible = True
  '
  rutaPdf = "C:\Trabajo\Pdfs\"
  archPdf = "M001.pdf"
  '
  'Para insertar el pdf como icono
  WordApp.ActiveDocument.InlineShapes.AddOLEObject ClassType:="Acrobat.Document.DC", _
    Filename:=rutaPdf & archPdf, LinkToFile:=False, _
    DisplayAsIcon:=True, IconFileName:= _
    "C:\Windows\Installer\{AC76BA86-1034-1033-7760-BC15014EA700}\_PDFFile.ico", _
    IconIndex:=0, IconLabel:=archPdf
  '
  'Para insertar todo el documento pdf
  WordApp.ActiveDocument.InlineShapes.AddOLEObject ClassType:="Acrobat.Document.DC", _
    Filename:=rutaPdf & archPdf, LinkToFile:=False, _
    DisplayAsIcon:=False
  '
  WordApp. Documents. Save
  WordApp. Documents. Close
  WordApp. Quit
End Sub

Notas:

Si insertas el pdf como icono, para abrir el archivo presiona doble clic en el icono.

Deberás adaptar el código en tu macro y verificar en cuál parte del documento word quieres insertar los pdf.

Para ejecutar la macro que te estoy enviando, en VBA, debes activar la referencia:

 Microsoft Word (tu versión) Object Library.


Recomendaciones:

Declarar variables en vba excel. Curso de macros. - YouTube

Consejos para desarrollar macros . curso de excel, curso de macros, excel, macros - YouTube

Consejos y trucos de excel para mejorar la presentación de tus datos. - YouTube

Sal u dos. Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas