Controlar el zoom de pdf al convertirse rango de excel

Tengo el siguiente código que convierte un rango de excel a pdf

Pero me gustaría anexarle el zoom que salga a 150

 Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    '
    Set h2 = Sheets(Hoja2.Name)
    wpath = ThisWorkbook.Path & "\"
    nombre = h2.Name & [F7]
u = h2.Range("B" & Rows.Count).End(xlUp).Row 're-impresion
h2.PageSetup.PrintArea = "$A$2:$H$" & u 're-impresion
'actPrnt = Application.ActivePrinter 'IMPRESION're-impresion
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
        Filename:=wpath & nombre & ".pdf", _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=True
    MsgBox "PDF generado con exito!", vbInformation, "REPORTE DE ASISTENCIAS"
    DoEvents
   ' Kill wpath & nombre & ".pdf"
    'Kill ruta & h1.Name & ".xlsx"
    DoEvents

1 Respuesta

Respuesta
2

[Hola

¿Te refieres a que al abrirse el pdf tenga de forma automática 150 de zoom? Pues si es así, eso es algo que el método "ExportAsFixedFormat" no puede controlar.

Abraham Valencia

PD: La forma sería controlando el objeto "Adobe" pero no es fácil por si acaso

Si quisiera que al abrir el archivo cuente con 150 de zoom... ¿Hay alguna manera de realizarlo? O si hay otra con gusto prestare atención

En el editor de VBA activa la referencia "Acrobat" o la "Adobe Acrobat 10.0 Type Library" (en donde l 10.0 puede ser otro número dependiendo de la versión de tu PC).

Luego coloca esto en un módulo "standard":

Sub AbrirPDFZoom()
Const AVZoomNoVary = 0
Dim Ruta As String
Dim objAcroApp As Object
Dim objAcroAVDoc As Object
Dim AcroAvPageView As AcroAvPageView
Let Ruta = "C:\Users\Abraham\Desktop\Pruebas.pdf"
Set objAcroApp = CreateObject("AcroExch.App")
Set objAcroAVDoc = CreateObject("AcroExch.AVDoc")
If objAcroAVDoc.Open(Ruta, "") = True Then
    Set AcroAvPageView = objAcroAVDoc.GetAVPageView()
    Call AcroAvPageView.ZoomTo(AVZoomNoVary, 150)
    Set objAcroAVDoc = Nothing
    Set objAcroApp = Nothing
Else
    MsgBox "No existe el archivo", vbCritical
    objAcroApp.Exit
    Set objAcroAVDoc = Nothing
    Set objAcroApp = Nothing
End If
End Sub

Evidentemente debes cambiar la ruta por una que tú tengas. Prueba y luego adáptalo a lo que necesites.

Saludos]

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas