Puede parecer sencilla la tarea de hoy: abrir un pdf en una hoja específica desde Excel...
Y verás muchos métodos buscando por Internet... pero el truco de hoy es el único que asegura la meta de poder abrir un fichero pdf desde Excel en la página deseada.
Otras formas sí consiguen abrir el pdf sin problemas, pero nunca en la página requerida:
- Usando la herramienta de hipervínculo
- la función HIPERVINCULO
- incluso con programación, creando el objeto IE...
todos ellos llevan a un punto no deseado... la primera página del documento.
Para solucionar la cuestión emplearemos la función SHELL de VBA que ejecutará la aplicación IE (el navegador Internet Explorer), y en éste es donde se abrirá el documento pdf en la página solicitada.
Y ahora la solución... en un módulo estándar incluimos el siguiente y sencillo procedimiento:
Al ejecutar nuestra macro, y completar el dato solicitado en el InputBox, el resultado es el esperado:
Y verás muchos métodos buscando por Internet... pero el truco de hoy es el único que asegura la meta de poder abrir un fichero pdf desde Excel en la página deseada.
Otras formas sí consiguen abrir el pdf sin problemas, pero nunca en la página requerida:
- Usando la herramienta de hipervínculo
- la función HIPERVINCULO
- incluso con programación, creando el objeto IE...
todos ellos llevan a un punto no deseado... la primera página del documento.
Para solucionar la cuestión emplearemos la función SHELL de VBA que ejecutará la aplicación IE (el navegador Internet Explorer), y en éste es donde se abrirá el documento pdf en la página solicitada.
Y ahora la solución... en un módulo estándar incluimos el siguiente y sencillo procedimiento:
Sub AbrirPDFpaginaEspecifica() 'ruta del pdf: X:\carpeta\fichero.pdf strVinculo = ActiveCell.Value Dim pagina As Long pagina = InputBox("Indica la página del pdf donde situarte", "Arir pdf") 'empleando la función Shell para ejecutar IE 'y abrir en él el archivo indicado a modo de ruta en la celda activa Shell ("C:\Program Files\Internet Explorer\iexplore.exe " & strVinculo & "#page=" & CLng(pagina)) End Sub
Al ejecutar nuestra macro, y completar el dato solicitado en el InputBox, el resultado es el esperado:
Muy muy bueno...
ResponderEliminar;-)
Eliminargracias!