Como rellenar un formulario pdf desde excel

En excel, necesito nuevamente su ayuda en los siguiente:

Necesito trasladar la información de excel a un formulario en pdf y he utilizado una macro que Dante Amor envío en alguna ocasión, la cual he probado y funciona bastante bien, mi problema es que en mi caso la información a trasladar es bastante por lo que no puedo encontrar la forma de utilizar correctamente la fórmula que ahí aparece:

 Celdas = Array("A2", "B2", "C2", "D2", "E2", "F2", "G2")

como puedo crear una matriz que tome todos los valores de la hoja de excel y luego los escriba en el formulario pdf

Por su atención de ante mano muy agradecido.

1 Respuesta

Respuesta
1

H   o la:

Me puedes comentar cómo es el formulario en Pdf y cómo tienes la información en excel. Por ejemplo si tienes que pasar todas las celdas desde la A2 hasta la A1000, entonces podría hacer un ciclo que vaya tomando celda por celda desde la A2 hasta la A1000.

E spero tus comentarios.

Gracias Dante Amor, te envío un ejemplo del pdf y como están los datos en excel

Te comento los datos en excel tienen la misma estructura del formato pdf,

He heho pruebas con la macro

Sub PasarDatosaPdf()

que creaste y funciona pero cuando llega a los datos numericos no los escribe en el pdf e igual el array() se hace bien largo, por lo que necesito hacerlo de otra forma.

Prueba con la siguiente macro, en el primer array pon los datos del "encabezado"

Puse un ciclo que recorrerá fila por fila y columna por columna y pasará los datos al formato.

Sub PasarDatosaPdf()
'Por.Dante Amor
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    Set h2 = Sheets("Hoja2") 'contador
    '
    ruta = "C:\Documents and Settings\DAMOR\Mis documentos\Formatos\"
    nomb = "carta"
    ActiveWorkbook.FollowHyperlink ruta & nomb & ".pdf"
    Application.Wait Now + TimeValue("00:00:03")
    '
    celdas = Array("B1", "D1", "E1", "H1", "I1")
    For i = LBound(celdas) To UBound(celdas)
        DoEvents
        SendKeys "{TAB}", True
        DoEvents
        h2.Range(celdas(i)).Copy
        DoEvents
        SendKeys "^v", True
        DoEvents
    Next
    '
    i = 6
    Do While h2.Cells(i, "C") <> ""
        For j = Columns("A").Column To Columns("I").Column
            DoEvents
            SendKeys "{TAB}", True
            DoEvents
            h2.Cells(i, j).Copy
            DoEvents
            SendKeys "^v", True
            DoEvents
        Next
        i = i + 1
    Loop
    '
    SendKeys "%aop", True
    DoEvents
    Application.Wait Now + TimeValue("00:00:03")
    Application.ScreenUpdating = True
End Sub

Prueba y me comentas.


Otra opción es, acomoda la hoja de excel exactamente igual al formato pdf, después guardas la hoja de excel como pdf, de esa forma se respetarán los formatos de los valores numéricos; esta opción es mucho menos complicada que crear una macro para llenar un formato de pdf.


Si tienes alguna dificultad, envíame tus archivos para probar.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Luis Rivera” y el título de esta pregunta.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Gracias Dante Amor por dar atención a mi pregunta, te comento que he probado la macro y funciona, lastimosamente no escribe en el formato los valores numéricos, probablemente el formato pdf de los números es distinto al que envía excel, he utilizado tu sugerencia de guardar desde excel como pdf, aunque de esta forma el resultado ya no es idéntico al formato original pdf.

Saludos y bendiciones.

Intenta guardar los valores numéricos como texto, pero con el formato que necesitas. Prueba nuevamente la macro.

¡Gracias! Haré las pruebas y luego te comento . . .

Saludos Dante, te sigo molestando con esta macro:

Sera posible que al terminar de rellenar el pdf me abra el directororio donde deseo guardarlo o que lo guarde directamente en el ?

En teoría en esta línea:

SendKeys "%aop", True

Te debe abrir la ventana "Guardar como"

Intenta con esta otra

SendKeys "%ao", True

Las letras a y o son para entrar al menú del Adobe, pero depende de cada versión.

Si te fijas en la imagen, cada opción tiene un texto y cada texto tiene una letra subrayada, en este caso la letra a es d "Archivo" y la letra o es "Guardar como".

Lo que hace la macro es ir al menú de Archivo y seleccionar la opción "Guardar como".

Revisa en tu versión de Adobe, cuáles son esas letras y reemplazalas en la línea de la macro.

Sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas