Abrir Archivo externo en el mismo lugar que se encuentra Bd

Necesitara ejecutar un archivo.pdf o exe

Sin(FollowHyperlink)

Necesitara ejecutar en el mismo lugar que se encuentra la Bd Estilo (CurrentProject.Path & "\archivo.pdf)

No con ruta especifica estilo C:\fkdkf\archivo.pdf

Respuesta
2

Si no quieres/puedes usar FollowHyperlink, tienes las opciones, al menos, de usar ShellExecute (http://neckkito.xyz/nck/index.php/ejemplos/18-codigo/154-shellexecute ) y la función Shell (https://support.office.com/es-es/article/ejecutar-funci%C3%B3n-ff2e4b1b-712d-4e34-aea6-6832eadd3c63 )

Personalmente utilizo la primera cuando necesito abrir archivos desde Access.

Para especificar la ruta relativa, haciendo referencia a dónde se encuentra la BD, tu mismo lo has dicho, con Application.CurrentProject.Path & "\archivo.pdf"

Hola  Sveinbjorn El Rojo

Gracias por ayudar

Con FollowHyperlink te da mensaje alerta 

Hay forma de desactivarlo por código?

Si la respuesta es si me sirve, sino no.

Y con shellexecute hay posibilidad de que no sea con ruta?

estilo Application.CurrentProject.Path & "\archivo.bat

Si la respuesta es si me sirve, sino no.

Busque y probé todo, lo que me explicas lo hice, pero necesito hacerlo de esta forma

El mensaje de alerta (imagino que será el de que puede ser potencialmente peligroso abrir archivos... o algo así) desconozco cómo quitarlo, y eso que probé un montón de opciones en la configuración de Access... También te digo que con la misma BD en unos PCs me sale y en otros no...

Con ShellExecute claro que puedes indicar así la ruta. Si te fijas en el texto del ejemplo, el código para abrir el archivo es:

miArchivo = Me.Archivo.Value
If IsNull(miArchivo) Then Exit Sub
Call ShellExecute(Me.hwnd, "Open", miArchivo, "", "", 1)

Que abre la ruta que está en un cuadro de texto llamado Archivo, pero simplemente cambiando la linea que te marco en negrita puedes poner tu la ruta (absoluta o relativa, según tus necesidades) que quieras, por ejemplo:

miArchivo=Application.CurrentProject.Path & "\archivo.bat

Si quieres que abra siempre el archivo "archivo.bat" ubicado en la misma carpeta que la BD

miArchivo= Application.CurrentProject.Path & "\" & Me.Archivo

Si quieres que te abra el archivo que está en el campo "Archivo" en la misma carpeta que tengas la BD.

Posibilidades hay muchas para crear la ruta...

Hola Sveinbjorn El Rojo

Gracias por la respuesta

Con Call ShellExecute lo pude hacer funcionar

Buena explicación!!

Pero Intente con

miArchivo = Me.Archivo.Value
miArchivo = Application.CurrentProject.Path & "\" & Me.Archivo

El código lo puse en un boton.

Puse el nombre del archivo.bat en el Textbox Archivo 

y no lo abre

Me interesaría poder hacerlo de las dos maneras

miArchivo=Application.CurrentProject.Path & "\archivo.bat

miArchivo= Application.CurrentProject.Path & "\" & Me.Archivo

Podrías escribirme el código de cómo iría así lo entiendo?

O Si no es mucho pedir un mini ejemplo!!

Pues en principio lo haces bien (aunque te sobraría la linea miArchivo=Me.Archivo.Value). En el cuadro de texto ¿pusiste también la extensión del archivo?

Ahí tienes un ejemplo: http://www.filebig.net/files/ETadHFe2gW 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas