'Sección de Declaraciones del Módulo:
DefLng A-Z
Type BROWSEINFO
    hWndOwner As Long
    pidlRoot As Long
    pszDisplayName As String
    lpszTitle As String
    uFlags As Integer
    lpfn As Long
    lParam As Long
    iImage As Long
End Type
Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Declare Function SHBrowseForFolder Lib "Shell32" Alias "SHBrowseForFolderA" (lpbi As BROWSEINFO) As Long
Const BIF_RETURNONLYFSDIRS   As Integer = 1
' -------------- Hasta aquí las Declaraciones ---------------------

'Función para el cuadro de diálogo buscar Ruta en el Módulo:
Function BrowseForFolder(ByVal f_HWnd As Long, Optional lpTitle As Variant) As String
On Error Resume Next
Dim lpiidl As Long, lResult As Long
Dim lpbi As BROWSEINFO
Dim lpszBuf As String
Dim lpszNameSpace As String
lpszBuf = String$(255, Chr$(0))
lpszNameSpace = String$(255, Chr$(0))
With lpbi
    .hWndOwner = f_HWnd
    .pidlRoot = vbNullString
    .lpszTitle = lpTitle
    .pszDisplayName = lpszBuf
    .uFlags = BIF_RETURNONLYFSDIRS
    .lpfn = vbNullString
    .lParam = 0&
    .iImage = 0&
End With
lpiidl = SHBrowseForFolder(lpbi)
If lpiidl = 0 Then BrowseForFolder = "": Exit Function
lResult = SHGetPathFromIDList(lpiidl, lpszNameSpace)
If lResult = 1 Then
    BrowseForFolder = Left$(lpszNameSpace, InStr(lpszNameSpace, Chr$(0)))
End If
End Function
' --------------- Hasta aquí la Función -------------

'Esto ya vá en el Formulario:
'Evento "Al hacer click" del botón de comando "RutaCarpeta"
Private Sub RutaCarpeta_Click()
Dim ShellPath As String
ShellPath = BrowseForFolder(Me.Hwnd, "Seleccione el Path de la Carpeta ...")
    If ShellPath <> "" Then
        Carpeta = Mid(ShellPath, 1, Len(ShellPath) - 1)
        Me.Requery
        Carpeta.SetFocus
    Else
        Carpeta.SetFocus
    End If
End Sub

Creas un cuadro de texto en el formulario de nombre "Carpeta" y un botón de comando
junto a él de nombre "RutaCarpeta", a hacer clic se abrirá un cuadro de diálogo que
busca sólo rutas sin nombre de archivos, luego si al cuadro de texto le pones como 
origen del control el campo de una tabla, el path se grabará en un registro de esa
tabla.

    Source: geocities.com/es/ensolva/Descargas/Documentos

               ( geocities.com/es/ensolva/Descargas)                   ( geocities.com/es/ensolva)                   ( geocities.com/es)