Abrir un pdf desde un botón Access

Tengo una base de datos en access con un formulario, lo que quiero es que en ese formulario aparezca un botón que cuando lo pinches aparezca un cuadro para poner el nombre del archivo pdf a abrir (solo nombre sin la extensión pdf), y cuando acepte que el programa vaya a una carpeta (poder elegir la carpeta) y que abra el pdf con el nombre que ha puesto el usuario, todo esto es para poder después imprimirlo.

1 Respuesta

Respuesta
1

No es afán de ganar puntos a esta respuesta...

El compañero experto Roberto Hinojosa respondió esta misma pregunta al compañero Hernán Camilo.. esta es la liga donde esta la respuesta

Abrir un archivo desde Access con VBA

Espero que su respuesta sea favorable a tu necesidad, que pases una excelente tarde

Muchas gracias por su tiempo de antemano pero hay una diferencia fundamental en la pregunta que me referencia usted en el link Y la mia.

yo necesito que el usuario escriba el nombre del archivo y que el codigo compare este nombre con lo que haya en la ruta que yo le diga( sera una carpeta fundamentalmente) no se si me explico bien?? Es diferente

yo le pregunto al usuario, con una ventana para que el escriba, que Archivo de pdf quieres abrir??, dime el nombre??  Ese nombre sera por ejemplo C5931.pdf, por poner un ejempo, pues el codigo tiene que comparar C5931.pdf con los pdf que haya en una carpeta, que yo le digo, y si existe abrirlo y si no pues decir que No existe, me he explicado?? Es que creo que es diferente a la pregunta que usted me esta señalando, 

muchas gracias de antemano, esto es para una cosa del trabajo, mes seria de gran ayuda, mil gracias.

Ok.. entiendo...

Al momento de clickar el boton abrir archivo intenta usar un inputbox

var pdf as variant

pdf = inputbox("Escriba el nombre del archivo pdf a abrir")

pdf = pdf & ".pdf" para que agregue la extension del archivo

Entonces, al momento de abrir el archivo se abrira el que has escrito, eso si... el directorio debe ser fijo...

Perdona mi pobre respuesta, pero espero que te sea de utilidad


Muchas gracias por su tiempo de antemano pero hay una diferencia fundamental en la pregunta que me referencia usted en el link Y la mía.

¿Yo necesito que el usuario escriba el nombre del archivo y que el código compare este nombre con lo que haya en la ruta que yo le diga( sera una carpeta fundamentalmente) no se si me explico bien? Es diferente

Yo le pregunto al usuario, con una ventana para que el escriba, ¿qué Archivo de pdf quieres abrir?, ¿Dime el nombre? Ese nombre sera por ejemplo C5931.pdf, por poner un ejemplo, pues el código tiene que comparar C5931.pdf con los pdf que haya en una carpeta, que yo le digo, y si existe abrirlo y si no pues decir que No existe, ¿me he explicado? Es que creo que es diferente a la pregunta que usted me esta señalando,

Muchas gracias de antemano, esto es para una cosa del trabajo, mes seria de gran ayuda, mil gracias.

Usando el código de los compañeros con la modificacion deberia quedar asi

Dim RutaArchivo As String

Dim archivo as Variant

archivo = inputbox("Escriba el nombre del archivo pdf a abrir")

archivo = archivo & ".pdf" para que agregue la extension del archivo

RutaArchivo = CurrentProject.Path & "\directorio\" & archivo & ".pdf"
If Len(RutaArchivo) = 0 Then
MsgBox ("No se ha encontrado el archivo que desea abrir", vbInformation, "Apertura de archivo")
Else
Application.FollowHyperlink RutaArchivo
End If

Ejem

Esta linea hay que modificarla

RutaArchivo = CurrentProject.Path & "\directorio\" & archivo & ".pdf"

por esta otra

RutaArchivo = CurrentProject.Path & "\directorio\" & archivo

Ja!... eso de andar enojado con los del trabajo no deja nada bueno... je

¡Gracias! Muchas gracias voy a probarlo

Que dios lo bendiga !!!!!

Ojala te haya ayudado... seguimos en contacto

¡Un millón de gracias!

Hola buenos días,

Me da error en

Application.FollowHyperlink RutaArchivo

Se detiene ahí, supongo que sera la instrucción para que abra el pdf, el código se me queda así,

Private Sub Comando142_Click()
Dim RutaArchivo As String

Dim archivo As Variant

archivo = InputBox("Escriba el nombre del archivo pdf a abrir")
archivo = archivo & ".pdf"
'para que agregue la extension del archivo
RutaArchivo = CurrentProject.Path & "C:\" & archivo
Application.FollowHyperlink RutaArchivo
End Sub

Me daba error también en el msgbox y lo he quitado

Mil gracias

Estoy implementando todo esto es un access

Private Sub Comando142_Click()
Dim RutaArchivo As String

Dim archivo As Variant

archivo = InputBox("Escriba el nombre del archivo pdf a abrir")
archivo = archivo & ".pdf"
'para que agregue la extension del archivo
RutaArchivo = "\\SERVER\General\OK_FICHAS PRODUCTOS\" & archivo
Application.FollowHyperlink RutaArchivo
End Sub

así me queda

lo de CurrentProject.Path tambien tengo que ponerlo, si le meto el path yo manualmente???

Private Sub Comando142_Click()
Dim RutaArchivo As String

Dim archivo As Variant

archivo = InputBox("Escriba el nombre del archivo pdf a abrir")
archivo = archivo & ".pdf"
'para que agregue la extension del archivo
RutaArchivo = "\\SERVER\General\OK_FICHAS PRODUCTOS\" & archivo
Application.FollowHyperlink RutaArchivo
End Sub

Este código funciona, no da errores pero no abre nada, hace el intento pero se cierra en seguida, no se la verdad que estará abriendo pero no da error

Gracias de antemano

Intenta poniendo la ruta absoluta de manera manual
RutaArchivo = "C:\proyecto\OK_FICHAS PRODUCTOS\" & archivo 
por ejemplo, ya depende de los directorios creados

Poniendo la ruta manual tampoco

Es como si quiera abrirlo, abre algo, pero se cierra en seguida,

He estado mirando la función shell, pero como no domino pues no me he aclarado mucho je je

Gracias.

Si funciona correctamente, despliega el mensaje de apertura, basta con clickar en aceptar para que muestre el documento

Así tengo la función

______________________________________

Public Static Sub pdf()
Dim ruta As String

ruta = "d:\pdf.pdf"

Application.FollowHyperlink ruta

End Sub

______________________________________

Ahora para ejecutar con shell, lo que se debe ejecutar es el programa AdobeAcrobat reader o cualquier lector PDF que tengas

Por ejemplo

ejecutar = shell("c:\program files\adobe\acrobat.exe ruta",1)

Algo así donde ejecutas el programa y le indicas que se abrirá el documento que le indicas en la variable ruta...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas