'---------------------------------------------------------      ÑÎÐÑ ÇÀ ÔÎÐÌÀÒÀ --------------------------------------

Private Sub Command1_Click()

         imefolder = BrowseForFolder 'Ïðèñâîÿâàíå íà èçáðàíîòî â ïðîìåíëèâà çà óäîáñòâî

         

        

         If imefolder = "" Then               'IF ïðîâåðÿâàù äàëè ñìå èçáðàëè íåùî

                'Íèùî

         Else

                MsgBox "Âèå èçáðàõòå" & imefolder, vbInformation, "Ïðèìåð çà èçáîð"

         End If

 

 

End Sub

 

 

            ' --------------------------------------------------------     ÑÎÐÑ ÇÀ ÌÎÄÓËÀ --------------------------------------------

Private Type BrowseInfo

    hWndOwner As Long

    pIDLRoot As Long

    pszDisplayName As Long

    lpszTitle As String

    ulFlags As Long

    lpfnCallback As Long

    lParam As Long

    iImage As Long

End Type

Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long)

Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long

Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long

Private Declare Function GetActiveWindow Lib "user32" () As Long

 

 

Public Function BrowseForFolder(Optional sCaption As String = "Select a folder", Optional sDefault As String) As String

    Const BIF_RETURNONLYFSDIRS = 1

    Const MAX_PATH = 260

    Dim lPos As Integer, lpIDList As Long, lResult As Long

    Dim sPath As String, tBrowse As BrowseInfo

 

    With tBrowse

        .hWndOwner = GetActiveWindow

        .lpszTitle = sCaption

        .ulFlags = BIF_RETURNONLYFSDIRS     '

    End With

 

    lpIDList = SHBrowseForFolder(tBrowse)

    If lpIDList Then

        sPath = String$(MAX_PATH, 0)

        SHGetPathFromIDList lpIDList, sPath

        CoTaskMemFree lpIDList

        lPos = InStr(sPath, vbNullChar)

        If lPos Then

            BrowseForFolder = Left$(sPath, lPos - 1)

            If Right$(BrowseForFolder, 1) <> "\" Then

                BrowseForFolder = BrowseForFolder & "\"

            End If

        End If

    Else

        BrowseForFolder = sDefault

    End If

End Function