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...