Macro para incrustar archivos PDF en Excel
Para incrustar un archivo PDF en Excel es necesario tener instalado un visor PDF cualquiera en su computador, en este caso utilizamos como referencia Acrobat Reader pues es tal vez el más popular y agregar a la lista de referencias el controlador Adobe Acrobat Browser Control Type Library 1.0 (ver imagen)
A continuacion es necesario crear un formulario suficientemente grande para contener una página de lectura del archivo PDF. Llamaremos a este formulario PdfForm
Luego creamos una función para llamar el formulario con el archivo PDF ya cargado. Llamaremos a esta función LoadPDF. El código se encuentra a continuación:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
Sub LoadPDF(FicPdf As String, NoPage As Integer) 'Creacion del objeto Set mObjPDF = PdfForm.Controls.Add("AcroPDF.PDF.1", "VisuPDF") ch = mObjPDF.src 'Llamar la version de acrobat ver = mObjPDF.GetVersions 'Parametros en la ventana de Acrobat With PdfForm.Controls("VisuPDF") .Visible = True 'Determinar alto y ancho de la ventana en el formulario .Height = PdfForm.Height - 20 .Width = PdfForm.Width - 5 'mObjPDF.setViewRect 0, 0, 650, 580 End With 'Parametros del objeto pdf With mObjPDF .src = FicPdf 'Nombre del archivo o URL .setShowScrollbars (True) .setShowToolbar (True) .setPageMode ("none") 'Determina el mode de presentacion: none/bookmarks/thumbs .setLayoutMode ("SinglePage") 'Typo de presentacion: DontCare/SinglePage/OneColumn/TwoColumnLeft/TwoColumnRight .setCurrentPage (NoPage) 'Numero de la pagina a presentar .setView ("Fit") 'Tipo de presentacion: Fit/FitH/FitV/FitB/FitBH/FitB '.setZoom (100) 'Determina el zoom End With 'Presentar la hoja: PdfForm.Show End Sub |
Lo demás es sencillo, requiere crear una macro que llame la función LoadPDF con el parámetro correcto (ruta del archivo a abrir).
Un ejemplo de como se incorporan estas funciones se puede descargar en el siguiente link.
Bueno, para ejecutar correctamente la visualizacion de archivos PDF necesitaremos tener instalado algun visor, llamese como se llame, no hay predileccion por alguno de los que existen en el mercado.
Hola, he tratado de implementar lo que muestra en su tutorial, he tenido problemas de sintaxis, la verdad estoy iniciando y me gustaría, saber en específico de la declaración del objeto para abrir el PDF, ya que en mi caso, puede que no esté manejando el código de la manera correcta, espero su respuesta y de antemano gracias.
Hola, ahí un error en la sentencia.
Set mObjPDF = PdfForm.Controls.Add("AcroPDF.PDF.1", "VisuPDF")
You got yourself a new rader.