Macro para guardar PDF Con error 5

Los expertos en Macros excel, estoy solicitando la siguiente ayuda:

Estoy utilizando una macro para guardar en PDF, creada por Dante Amor pero se produce el error 5 en tiempo de ejecución:

Sub guardapdf()
ru = "C:\Documents and Settings\uso\My Documents\Documentos de Luis\"
 Range("A1:k31").Select
 Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ru & Range("B3") & ".pdf", _
 Quality:=xlQualityStandard, IncludeDocProperties:=True, _
 IgnorePrintAreas:=False, OpenAfterPublish:=False
End Sub

¿Cómo lo puedo solucionar?. . .

1 respuesta

Respuesta
1

H o la: Me parece que el error es porque no tienes en tu excel la versión para guardar archivos como PDF. Revisa que tengas actualizada la versión de excel.

Desde excel, intenta guardar un hoja como pdf. Si no te aparece la opción "Guardar como PDF", significa que no está actualizada tu versión de excel, entonces tendrías que descargar de microsoft la última actualización.

Por otra parte, si te aparece la opción de "guardar como pdf", entonces, activa la grabadora de macro, guardar la selección como pdf, regresa a la grabadora y presiona detener grabación.

Envíame el código que generó la grabadora de macros para revisarlo y adaptarlo a lo que necesitas.

sal u dos

Gracias Dante por iluminarme y tenias razón ya descargue el complemento para guardar como PDF y ya puedo guardar mi documento como lo necesito, también genere el código como me indicaste y genero la macro siguiente:

Sub Macro1()
'
' Macro1 Macro
'
    Range("A1:K31").Select
    ChDir "C:\Documents and Settings\uso\My Documents\Documentos de Luis\tmppdf"
   ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Documents and Settings\uso\My Documents\Documentos de Luis\tmppdf\informe03.pdf" _
        , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=False
End Sub

Por lo único que no estoy del todo satisfecho es que al revisar el pdf, si guarda el documento pero también agrega una página en blanco, que tengo que hacer para que solamente me cree el pdf por el rango que le estoy especificando.

Te comento que hice la prueba cambiando Activesheet. Por Selection. Y siempre genera la página de más en blanco.

Bendiciones y saludos.

Prueba con la siguiente macro, adapté la ruta y la celda que tienes para guardar el archivo. Si quieres cambiar la ruta o el nombre del archivo actualiza estas líneas:

    ruta = "C:\Documents and Settings\uso\My Documents\Documentos de Luis\tmppdf\"
    arch = Range("B3")

La macro completa:

Sub Guarda_Pdf()
'Act.Por.Dante Amor
    ruta = "C:\Documents and Settings\uso\My Documents\Documentos de Luis\tmppdf\"
    arch = Range("B3")
    Range("A1:K31").ExportAsFixedFormat Type:=xlTypePDF, _
        Filename:=ruta & arch & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End Sub

Si te sigue apareciendo la hoja en blanco, antes de generar el pdf, entra a la vista preliminar, tal vez el rango de A1 a K31 abarca más de una hoja, entonces deberás reducir las columnas o las filas, para que el rango entre en una sola hoja.

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

¡Gracias!

Nuevamente tenias razón, solamente tenia que ajustar a una página el rango, pero que bueno que existen personas altruistas y dispuestas a colaborar con personas lentas como yo.

Que Jehová te bendiga.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas