Mega Code Archive

 
Categories / VisualBasic Script / File Path
 

Select a folder

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 Public 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 Function GetDirectory() As String     Dim bInfo As BROWSEINFO     Dim path As String     Dim r As Long, x As Long, pos As Integer       bInfo.pidlRoot = 0&     bInfo.lpszTitle = "Select a folder."     bInfo.ulFlags = &H1     x = SHBrowseForFolder(bInfo)          path = Space$(512)     r = SHGetPathFromIDList(ByVal x, ByVal path)     If r Then         pos = InStr(path, Chr$(0))         GetDirectory = Left(path, pos - 1)     Else         GetDirectory = ""     End If End Function Sub GetAFolder()     Debug.Print GetDirectory() End Sub