En un Módulo de VB6...
Luego en un botón...
Option Explicit
Private 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
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias _
"SHGetPathFromIDListA" (ByVal pidl As Long, _
ByVal pszPath As String) As Long
Private Declare Function SHBrowseForFolder Lib "shell32.dll" Alias _
"SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) _
As Long
Private Const BIF_SOLOCARPETAS = &H1
Private Const BIF_NUEVODIALOGO = 64
Public Function ElegirCarpeta(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 = 0
.lpszTitle = szDialogTitle
.ulFlags = BIF_SOLOCARPETAS + BIF_NUEVODIALOGO
End With
dwIList = SHBrowseForFolder(bi)
szPath = Space$(512)
x = SHGetPathFromIDList(ByVal dwIList, ByVal szPath)
If x Then
wPos = InStr(szPath, Chr(0))
ElegirCarpeta = Left$(szPath, wPos - 1)
Else
ElegirCarpeta = ""
End If
End Function
Luego en un botón...
Private Sub Command1_Click()
Dim Carpeta As String
Carpeta = ElegirCarpeta("Elegí una carpeta")
If Carpeta <> "" Then
Ruta = Carpeta
CarpetaSeleccionada.Text = Carpeta
End If
End Sub
Comentarios
Publicar un comentario