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