Quisiera saber si existe algun OCX para capturar carpeta, es decir el microsoft command dialog 6.0 me captura ficheros pero lo q yo quiero es capturar la ruta de la carpeta. He hecho una chapuzilla con el OCX mencionado, pero me gustaria realizarlo correctamente, gracias RESPONDE JUAN M. AFAN DE RIBERA =============================== Para mostrar el cuadro de diálogo "Escojer carpetas" yo uso una API, que creo la saque de una utilidad de Tomas Boixet http://www.abarcode.net/accesslab/default.asp copia y pega lo siguiente en un módulo estandard Type BROWSEINFO hOwner As Long pidlRoot As Long pszDisplayName As String lpszTitle As String ulFlags As Long 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.dll" Alias _ "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long Const BIF_RETURNONLYFSDIRS = &H1 Function BrowseFolder(szDialogTitle As String) As String Dim x As Long, bi As BROWSEINFO, dwIList As Long Dim szPath As String, wPos As Integer With bi .hOwner = hWndAccessApp .lpszTitle = szDialogTitle .ulFlags = BIF_RETURNONLYFSDIRS End With dwIList = SHBrowseForFolder(bi) szPath = Space$(512) x = SHGetPathFromIDList(ByVal dwIList, ByVal szPath) If x Then wPos = InStr(szPath, Chr(0)) BrowseFolder = Left$(szPath, wPos - 1) Else BrowseFolder = "" End If End Function Después, a modo de ejemplo, puedes llamarla de esta manera: Sub escogerCarpeta() Dim carpeta As String carpeta = BrowseFolder("Escoja una carpeta") MsgBox "La ruta escogida es: " & carpeta End Sub