Abre cualquier tipo de archivos,carpetas en vb6 con Shell
Una de las funcionalidades que cualquier sistema tiene (especialmente si se maneja con documentos) es poder visualizar los archivos. Uno de los métodos es a través del comando Shell. A través de este comando puedes abrir desde un archivo de texto , Word, pdfs hasta carpetas y/o enlaces. (Este comando Shell en realidad emula lo que realizas a través del comando ejecutar pudiendo abarcar muchísimas funcionalidades aparte de sólo “abrir archivos”).
Por lo general para usar la función Shell contiene dos atributos : Shell ( extensión ruta) donde la extensión es referente al archivo por ejemplo , si se trata de Word sería :
Shell (“winword.exe ” & ruta).
En la red he encontrado este código que compartimos, el cual funciona para todo tipo de archivos, es decir, ya no tendremos que asignarle un winword.exe o notepad.exe simplemente reconocerá la extensión y permitirá abrir el archivo.
Public Sub EjecutarArchivos(ruta As String) Dim ejecutarShell As Variant On Error GoTo error ejecutarShell = Shell("rundll32.exe url.dll,FileProtocolHandler " & (ruta), 1) Exit Sub error: MsgBox Err.Description, vbExclamation, "Error al procesar la información" End Sub
Asimismo, si se desea abrir carpetas, sólo basta colocar Shell ("explorer.exe " & ruta).
Adicionalmente muestro el código del ejemplo:
By Gaston, September 5, 2012 @ 3:11 pm
Esta muy bueno, me ayudo mucho, aun así lo probé con archivos que windows no tiene asociados por ejemplo un .bak y no hace nada seria bueno que nos abriera el cuadro “abrir con” en estos casos
Slds.
By Luis Reyes, May 29, 2017 @ 11:39 am
Hola excelente aporte, es exactamente lo estaba buscando!!
Saludos desde México!!!
By Edu T, May 29, 2017 @ 11:41 pm
Gracias, no olvides seguirnos en Facebook y Twitter 🙂
By Victor, July 26, 2017 @ 1:31 pm
Me podrías proporcionar el codigo completo.
No se si ocupaste un cuadro de texto o un botón.
Yo busco que mediante un botón me lleve a una carpeta de archivos, a los cuales se pueda acceder.
Gracias.
By Edu T, August 22, 2017 @ 8:56 pm
Gracias, no olvides seguirnos en Facebook y Twitter
El código se encuentra en el post, te enviamos por Facebook en caso lo necesites, dale me gusta para responderte más rápido 🙂
Public Sub EjecutarArchivos(ruta As String)
Dim ejecutarShell As Variant
On Error GoTo error
ejecutarShell = Shell(“rundll32.exe url.dll,FileProtocolHandler ” & (ruta), 1)
Exit Sub
error: MsgBox Err.Description, vbExclamation, “Error al procesar la información”
End Sub