Genere pdf en una hoja desde Excel pero en otra PC sale cortado y en dos hojas

Hice un modelo de factura el cual genera pdf con la factura.

Es A4, horizontal y solo una hoja.

El problema es que cuando el usuario lo usa y genera el pdf le sale en dos hojas y cortado

. ¿Alguien ha tenido este problema alguna vez?

El programa fue probado en tres computadoras diferentes y funcionaba normal, pero con el usuario hubo problemas.

1 respuesta

Respuesta
2

Antes de enviar a generar el archivo pdf, asegúrate de establecer los parámetros de impresión.

Por ejemplo:

Sub Macro1()
'
' Macro1 Macro
'
'ESTABLECER PARÁMETROS DE IMPRESIÓN
'
    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .CenterHeader = ""
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = ""
        .RightFooter = ""
        .LeftMargin = Application.InchesToPoints(0.708661417322835)
        .RightMargin = Application.InchesToPoints(0.708661417322835)
        .TopMargin = Application.InchesToPoints(0.748031496062992)
        .BottomMargin = Application.InchesToPoints(0.748031496062992)
        .HeaderMargin = Application.InchesToPoints(0.31496062992126)
        .FooterMargin = Application.InchesToPoints(0.31496062992126)
        .PrintHeadings = False
        .PrintGridlines = False
        .PrintComments = xlPrintNoComments
        .PrintQuality = 600
        .CenterHorizontally = False
        .CenterVertically = False
        .Orientation = xlLandscape              'HORIZONTAL
        .Draft = False
        .PaperSize = xlPaperA4                  'TAMAÑO A4
        .FirstPageNumber = xlAutomatic
        .Order = xlDownThenOver
        .BlackAndWhite = False
        .Zoom = 100
        .PrintErrors = xlPrintErrorsDisplayed
        .OddAndEvenPagesHeaderFooter = False
        .DifferentFirstPageHeaderFooter = False
        .ScaleWithDocHeaderFooter = True
        .AlignMarginsHeaderFooter = True
        .EvenPage.LeftHeader.Text = ""
        .EvenPage.CenterHeader.Text = ""
        .EvenPage.RightHeader.Text = ""
        .EvenPage.LeftFooter.Text = ""
        .EvenPage.CenterFooter.Text = ""
        .EvenPage.RightFooter.Text = ""
        .FirstPage.LeftHeader.Text = ""
        .FirstPage.CenterHeader.Text = ""
        .FirstPage.RightHeader.Text = ""
        .FirstPage.LeftFooter.Text = ""
        .FirstPage.CenterFooter.Text = ""
        .FirstPage.RightFooter.Text = ""
    End With
    '
    ruta = "C:\trabajo\"
    arch = "factura.pdf"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
        Filename:=ruta & arch, _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, OpenAfterPublish:=True
End Sub

.

Lo que hago es establecer los parámetros de impresión, entre ellos el tamaño de hoja en A4 y la orientación Horizontal.

.

Realiza lo siguiente, activa la grabadora de macros, ahora entra al menú Diseño de página, Configurar página, selecciona A4 y orientación horizontal, presiona Aceptar. Ve a detener la grabadora de macros. Revisa en VBA el código que te generó, ese código lo pones en tu macro que envía a Pdf la hoja, tal como lo puse en mi ejemplo.

Prueba nuevamente en la PC del usuario.

Avísame cualquier duda. Sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas