Abrir carpeta desde botón de comando sin ruta.

¿Es posible desde un botón de comando abrir una carpeta sin establecer una ruta concreta?. Me gustaría que fuese sin ruta para poder utilizar la aplicación en otros pc's.

1 Respuesta

Respuesta
1

Para abrir una carpeta necesitas conocer su ruta exacta, si no, mal asunto...

No me queda demasiado claro qué es lo que preguntas. Si lo que quieres es, por ejemplo, abrir una carpeta que está en la misma carpeta (o en cualquier subcarpeta dentro de ella) en la que está la base de datos, puedes usar rutas relativas, con Application. CurrentProject. Path (que devuelve el directorio donde está la BD).

Ejemplo: supongamos que tienes, en donde tienes la BD, una carpeta "Imagenes" y dentro una carpeta "FotosProductos" y quieres abrir esta última.

Puedes poner:

Application.FollowHyperlink Application.CurrentProject.Path & "\Imagenes\FotosProductos"

o también:

Shell "explorer " & Application. CurrentProject. Path & "\Imagenes\FotosProductos"", vbMaximizedFocus

(aquí puedes cambiar el último parámetro si no la quieres maximizada)

Esta técnica de rutas relativas te servirá en cualquier ordenador, siempre, claro, que la carpeta a abrir dependa de la ubicación de la base de datos.

Si lo que quieres es indicar, en cada momento la carpeta a abrir, puedes crearte un procedimiento como alguno de éstos:

Public Sub AbreCarpeta(laCarpeta As String)
    Application.FollowHyperlink laCarpeta
End Sub
Public Sub AbreCarpeta(laCarpeta As String)
    Shell "explorer " & laCarpeta, vbMaximizedFocus
End Sub

Y cuando quieras abrir la carpeta:

AbreCarpeta "C:\Carpeta1\Carpeta2\Carpeta3"

Si la carpeta está en alguna de las carpetas de sistema (por ejemplo Mis Documentos), puedes recurrir a la API SHGetSpecialFolderPath (puedes ver un ejemplo aquí: http://www.elguille.info/vb/VB_API03.HTM#api03_11 ) para saber la ruta a esa carpeta de sistema y a partir de ahí, terminas de construir la ruta, de forma parecida a la técnica de ruta relativas.

Buenos días. Gracias por tu ayuda. En mi tengo una carpeta dónde está la BD y también otra con fotos. Es decir tanto la BD como la carpeta con las fotos están en la misma carpeta en una memoria USB. Por lo tanto...de las opciones que me ofreces cuál sería la mejor en este caso?

La primera, usar Application. CurrentProject. Path con cualquiera de las dos formas de abrirla (Followhyperlink o Shell)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas