Access de Xavi

Funciones => Varias => Mensaje iniciado por: xavi en Octubre 22, 2012, 06:26:04 pm

Título: Seleccionar carpeta
Publicado por: xavi en Octubre 22, 2012, 06:26:04 pm
Palabras clave: seleccionar, carpeta, directorio
Autor: Juan M. Afán de Ribera (Happy)
Extraído de: La web del Búho

Objetivo:
Mostrar un selector de carpetas.

Cita de: Happy
Ya sabéis que a mi no me importa (en absoluto) utilizar el API para hacer cosillas e inventos. Lo que ocurre es que en el caso del BrowseForFolder tenemos un churro inmenso de código con declaraciones API y constantes. Pero entre ese churro de código (http://www.llodax.com/smf/index.php?topic=14.0) y ésto otro hay una diferencia de unas cuantas líneas. Además, es mucho más fácil de mantener y está documentado con la librería Shell. Por otro lado, como esta librería es parte de las librerías del sistema operativo no hay que preocuparse de actualizaciones entre 32 o 64 bits (Microsoft ya se habrá encargado de hacerlo).


Código: [Seleccionar]
Public Function GetFolder(Titulo As String) As String
    Dim oShell As Object   
    On Error Resume Next   
    Set oShell = CreateObject("Shell.Application")   
    GetFolder = oShell.BrowseForFolder(hWndAccessApp, Titulo, 0&).Self.Path   
    Set oShell = Nothing   
    On Error GoTo 0
End Function