Como abrir un archivo .PDF con una macro en Excel

Tengo un formulario en Excel con varios botones. Me gustaría que cuando se apretara uno de dichos botones se abriera un archivo .pdf.
He probado con varios códigos que he encontrado en internet, pero ninguno me ha servido. El que más se acerca es este, pero después la aplicación de Adobe Reader me dice que no encuentra el archivo.

Private Sub howto_Click()
Dim archivo As String
ChDir "C:\Users\ktathiridive\Desktop\"
archivo = "How.pdf"
Shell "C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe archivo"
End Sub

¿Alguna idea?

3 Respuestas

Respuesta
1

Prueba este:

Private Sub howto_Click()

Dim myShell As Object
Set myShell = CreateObject("WScript.Shell")
myShell.Run "C:\Users\ktathiridive\Desktop\How.pdf"

End Sub

¡Gracias! Tu código funciona perfectamente! Voy a investigar lo que has hecho porque hay comandos que no conozco. Todo funciona a la perfección! Mil gracias!

No se lo digas a nadie, pero cuando no encuentres algo en internet... buscalo en ingles ;-)

http://www.mrexcel.com/forum/excel-questions/349874-open-pdf-file-excel-visual-basic-applications.html 

Respuesta
1

Además de lo que te han dicho antes, el problema en el código que empleas es que la variable a la que asignas la ruta del archivo la incluyes dentro del comando a ejecutar, así que excel intenta abrir un archivo llamado 'archivo'.

Hay que sacarlo fuera de las comillas:

Private Sub howto_Click()
Dim archivo As String
ChDir "C:\Users\ktathiridive\Desktop\"
archivo = "How.pdf"
Shell "C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe " &  archivo
End Sub

¡Gracias! Tu corrección me ha dado un buen resultado. El único problema que tampoco entiendo es que el Adobe reader se abre minimizado. A mi me interesaría que se abriera maximizado. De todos modos con la instrucción de Victor Rodriguez ha funcionado a la perfección. Gracias

El comando Shell tiene otro parámetro: windowStyle

Este le dice al sistema como abrir la ventana, por defecto se muestra minimizado con enfoque, pero lo puedes maximizar (échale un vistazo a la ayuda de excel, viene completo y con ejemplos):

Shell "C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe " & archivo, vbMaximizedFocus
Respuesta
-1

Respecto a tu duda, el archivo lo puedes mandar llamar directo desde su ubicación.

Workbooks.Open Filename:="C:\Users\ktathiridive\Desktop\TU ARCHIVO.pdf"

Muchas gracias por tu respuesta Henry. Ya lo había probado como tu dices, el problema es que si lo haces con esta instrucción el pdf se abre en Excel, y el resultado es ilegible. Gracias de todos modos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas