Jump to content
aaquino

Generar PDF únicamente del área de impresión

Recommended Posts

Muy buenos días, tardes, noches compañeros expertos en VBA.

Quisiera molestarlos con algo que necesito hacer, pero no logro encontrar la documentación adecuada para llevar a cabo mi propósito. El tema es el siguiente:

Tengo una macro, la cual funciona perfectamente, ya que me genera un PDF de la hoja en Excel activa. La cuestión es que lo que necesito es que la macro me genere el PDF únicamente del área de impresión, sin que se vea el resto de la hoja en blanco, tal como se ve en el ejemplo que adjunto. La macro que uso es la siguiente:

Sub HojaEnPDF()

Application.ScreenUpdating = False

Dim Hoja As Worksheet
Dim Nombre As String
Dim Original As String, Nuevo As String
Dim Ruta As String

Set Hoja = ActiveSheet
Original = ActiveWorkbook.Name
Nuevo = Left(Original, InStrRev(Original, ".") - 1)
Nombre = Nuevo & "-" & Hoja.Name & ".pdf"
Ruta = ActiveWorkbook.Path

Hoja.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Ruta & "\" & Nombre, quality:=xlQualityStandard, _
includedocproperties:=True, ignoreprintareas:=False, openafterpublish:=True

Application.ScreenUpdating = True

End Sub

Por si alguien me pudiera ayudar, se lo voy a agradecer.

Recibo AE.xlsx Recibo AE-Hoja1.pdf

Share this post


Link to post
Share on other sites

Hola

La exportación a pdf está haciendo tal cual le has indicado: Convertir a pdf solo el área de impresión, pero si bien tu área de impresión tiene un límite de rangos, no has cambiado tus márgenes. En la pestaña "Disposición de página", en el grupo "Configurar página" elige la opción "Márgenes" y ahí dale clic a "Márgenes personalizados..." y en la pestaña "Márgenes" coloca cero (0) en las seis opciones, ojo, en las seis, dale clic a "Aceptar". Ahora activa tu macro y mira el resultado.

Abraham Valencia
https://abrahamexcel.blogspot.com/
Lima, Perú

Share this post


Link to post
Share on other sites

Estimado @avalencia, agradezco mucho tu respuesta. 

Ya he probado con la solución que me has brindado, pero no logro el resultado esperado. Tal como lo indiqué en la consulta, lo que necesito es que al momento de generar el PDF, éste sea únicamente del área de impresión, pero tal cual está la macro, lo que hace es generar un PDF dejando el espacio en blanco de la hoja que no se ha usado, tal como el ejemplo que cargué.

Quedo atento a sus respuestas, compañeros.

Share this post


Link to post
Share on other sites

Para entenderte mejor, tienes configurada una página tamaño carta y quieres que a la hora de imprimir en pdf, toda tu página tamaño carta sea copada por tu recibo ¿cierto? Mira, además de los márgenes en cero, activa la casilla "Verticalmente" de la sección "Centrar en la página" del mismo cuadro de diálogo sugerido en el mensaje anterior;  en ese mismo diálogo  en la pestaña "Página" en la sección "Ajuste de escala" coloca "Ajustar al:"   "140"  "%del tamaño normal" (más o menos).  Ahora prueba. Ojo, convertir/exportar a pdf es en realidad una impresión virtual, la configuración de la exportación es la última que uno realiza en la hoja y está basada en los drivers de la impresora activa en ese momento. No es cuestión de VBA o de la herramienta propia de Excel para ese trabajo.

Abraham Valencia
https://abrahamexcel.blogspot.com/
Lima, Perú

Share this post


Link to post
Share on other sites

Hola @aaquino, (y Abraham Valencia)

Tu problema es que el tamaño de la hoja es Carta si tu eliges el tamaño de la hoja a Media carta, y lo pones en Horizontal, entonces ya te sale solo lo del área de impresión. Ojo, con un área de impresión mas chica o mas grande siempre te va a salir área en blanco. O lo que puedes haces es poner la hoja Carta en Horizontal, seleccionar el rango a Imprimir y le pones los margenes a Cero y le pones un 145 de Zoom.... todo esto lo tienes que ajustar tu al momento de guardar...

Recuerda que cada configuración para imprimir es independiente para cada Hoja de Excel. Saludos.

Share this post


Link to post
Share on other sites

Muchísimas gracias a ambos por sus respuestas.

Era algo tan sencillo por no decir obvio, pero me estaba haciendo bolas yo solo. Logré hacerlo, considerando un tamaño de hoja media carta y la disposición de la hoja en horizontal.

Pueden cerrar el tema

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...

Important Information

Privacy Policy