Mostrar archivos PDF en Formulario de Excel vba

Como todos saben, cuando se me presenta alguna situación informática para solucionar siempre busco a Excel como mi primer programa para solucionarla.

Y bueno, en esta ocasión este post no es excepción.

Por qué mostrar PDFs en Excel si ya tenemos un visor

Bueno, para ejecutar correctamente la visualización de archivos PDF necesitaremos tener instalado algún visor, llámese como se llame, no hay predilección por alguno de los que existen en el mercado.

Mi versión es que si estamos trabajando en un archivo de Excel y tenemos la necesidad de mostrar archivos PDF en la misma ventana, esta es la solución. Todo en el mismo lugar, sin cambiar de ventana.

Ver Video Mostrar archivos PDF en Formulario de Excel

Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.

Cómo lo hacemos

Nuestro formulario tendrá un cuadro de texto donde se mostrará le ruta completa del archivo elegido. También tenemos un botón que nos permitirá examinar nuestras carpetas en busca de archivos con extensión .pdf.

Examinar en buscar de archivos PDF

Figura 1. El formulario tendrá un filtro sólo con archivos .pdf.

Cuando hayamo elegido nuestro archivo se activará el botón cargar PDF y será mostrado en el control WebBrowser.

Mostrar PDF en formulario de Excel vba

Código

El evento Initialize el formulario pondrá en Disable los controles de texto y el botón de cargar PDF.

Private Sub UserForm_Initialize()
With Me
    .btnCargarPDF.Enabled = False
    .txtNombrePDF.Enabled = False
End With
End Sub

El botón examinar utiliza el diálogo msoFileDialogOpen para buscar archivos .pdf.

Private Sub btnExaminar_Click()
With Application.FileDialog(msoFileDialogOpen)
    .InitialFileName = Application.DefaultFilePath & "  "
    .Title = "EXCELeINFO - Abrir archivo PDF"
    .Filters.Clear
    .Filters.Add "PDF files", "*.pdf"
    .InitialView = msoFileDialogViewDetails
    .Show
    If .SelectedItems.Count = 0 Then
    Else
        Me.txtNombrePDF.Value = .SelectedItems(1)
    End If
End With
'
'Me = Nuestro formulario
With Me
    If .txtNombrePDF.Value <> "" Then
        .btnCargarPDF.Enabled = True
    Else
        .btnCargarPDF.Enabled = False
    End If
End With
End Sub

Para cargar el archivo en el control WebBrowser se utiliza el siguiente código.

Private Sub btnCargarPDF_Click()
Me.WebBrowser1.Navigate Me.txtNombrePDF.Value
End Sub

Anexos

Descargar ejemplo Mostrar PDF en Excel – EXCELeINFO.zip

You may also like...

3 Responses

  1. Marco Felix says:

    Puedes personalisar las opciones del visor?,es decir, solo quiero las flechas atras adelante y mas, menos del zoom?

    saludos.

    • No creo que se pueda, ya que el control que está llamando al PDF es el control Web browser que sirve sólo como visor. Y las características de los botones que comentas dependen del visor predeterminado que tengas para ver PFDs.

  1. October 11, 2013

    […] Puedes revisar el sienguiente ejemplo de uso de un formulario para mostrar ruta completa de un archivo Mostrar archivos PDF en Formulario de Excel vba. […]

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: