Visual Basic - Abrir carpeta contenedora

Life is soft - evento anual de software empresarial
 
Vista:

Abrir carpeta contenedora

Publicado por Jan (5 intervenciones) el 02/02/2008 21:39:59
Buenas a todos...
Cuando buscamos un archivo en Windows y presionamos click derecho sobre éste, nos aparece el menú "Abrir carpeta contenedora", el cual abre el directorio y luego selecciona el archivo (Ojo no abrir el archivo sino seleccionarlo). Quisiera saber como puedo lograr eso desde mi aplicativo. Habrá una API talvez ??

Lo que pasa es q mi aplicativo genera algunos archivos y al terminar de crearlos quisiera darle la opción al usuario de ubicar el archivo.

Si saben como por favor díganmelo.

Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Abrir carpeta contenedora

Publicado por Edwin (303 intervenciones) el 03/02/2008 03:33:51
Si ya cuentas con la ruta del archivo entonces puedes aplicar la API ShellExecute que permite realizar diversas operaciones como abrir Archivos, Carpetas, URL, etc...

Dim a As String
Dim x As Integer
a = "c:haberunododocdsfddfdsx.xls"
MsgBox Len(a)
For i = Len(a) To 1 Step -1
If (Mid(a, i, 1)) = "" Then
x = i
Exit For
End If
Next
a = Left(a, x)

z = ShellExecute(Me.hwnd, "Open", a,"" ,"" , 1)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Abrir carpeta contenedora

Publicado por Jan (5 intervenciones) el 16/02/2008 01:09:59
Gracias amigo, pero de esta manera me abre el archivo pero mi finalidad no es esa sino abrir el directorio que la contiene y luego seleccionar el archivo (sin abrirlo, sólo ubicarlo)

Si saben como por favor apóyenme con eso.
Gracias de antemano.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Abrir carpeta contenedora

Publicado por Edwin (303 intervenciones) el 16/02/2008 03:22:06
No no no no no, de esta forma te abrirá la carpeta contenedora del archivo, eso sí como te dije si ya cuentas con la ruta del archivo (por lo tanto tiene que ser una correcta), ah y disculpa por responder de esa manera equívoca ya que me equivoqué pero el Algoritmo está bien.

Era:

a = "c:haberunododocdsfddfdsx.xls"

Ya que el FOR realiza que a se convierta en:

a= "c:haberunododocdsfddfds"

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Abrir carpeta contenedora

Publicado por Carlos Alberto (1 intervención) el 02/02/2012 17:44:39
Hey que tal Edwin espero todavia pueda suceder una respuesta a esto

ingrese este codigo a mi programa pero me arroja que i no es una variable definida

Alguien sabe algo????
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Abrir carpeta contenedora

Publicado por yelinna (1 intervención) el 21/07/2008 19:48:03
Para abrir una carpeta cualquiera (en este caso una que está dentro de la carpeta donde se halla la aplicación) se tiene que escribir así:

Dim lValDev As Long
lValDev = ShellExecute(Me.hWnd, "Open", App.Path & "Biblio", "", "", 1)

Si no existe la carpeta, la función ShellExecute regresará un código de error que se almcena en lValDev (ya para sabr cúales son los códigos de error ir a la página de información de la Microsoft)

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar