Correspondencia a Word de una Base de Datos de Excel para Crear Documentos Seleccionando la Fila y Escogiendo la Ubicación
He visto que sueles responder preguntas acerca de VBA y macros, entonces agradecería mucho si me podrías echar una mano con este proyecto que tengo.
Te cuento tengo una base de datos, ejemplo.
Lo que quiero es que se pueda escoger que fila quieres para llenar una plantilla.
Y que al final se guarde de forma automática en un lugar seleccionado que en este caso sería el folder.
C:\Users\galoj\Downloads\Prueba Local\Prueba Local
Ya tengo un código, pero tienen varios problemas. Si jala y si llena la correspondencia que escojo. Pero por alguna razón lo hace 33 veces y guarda 33 archivos que son el número de filas que tengo. También lo quiero guardar como pdf pero no me deja. Lo principal que quiero arreglar justo es que nada más cree un archivo que sea el que escoja. Te pongo mi código. De antemano muchas gracias.
Sub PruebaLocal()
' Declaracion de Variables
Dim carpeta As String
Dim renglon As Integer
' Asignacion de valores a variables
carpeta = InputBox("Copie aquí la dirección de la carpeta destino. Por ejemplo: ", "Carpeta destino", "N:\temp\")
renglon = InputBox("Escriba la fila/renglón que desee usar para generar contratos")
'
patharch = ThisWorkbook.Path & "\Prueba Local Plantilla.dotx"
'
For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
objWord.Documents.Add Template:=patharch, NewTemplate:=False, DocumentType:=0
'
For j = 1 To Cells(1, Columns.Count).End(xlToLeft).Column
textobuscar = Cells(1, j)
objWord.Selection.Move 6, -1
objWord.Selection.Find.Execute FindText:=textobuscar
'
While objWord.Selection.Find.found = True
objWord.Selection.Text = Cells(renglon, j) 'texto a reemplazar
objWord.Selection.Move 6, -1
objWord.Selection.Find.Execute FindText:=textobuscar
Wend
'
Next
ruta = carpeta & "\"
nombd = "Prueba Local Word " & i & ".docx"
nombp = "Prueba Local PDF " & i & ".pdf"
objWord.ActiveDocument.SaveAs ruta & nombd
pdf = objWord.ActiveDocument.ExportAsFixedFormat(nombp, _
17, False, 0, 0, , , 0, False, True, 1)
objWord.Quit (True)
Next
End Sub