I den här artikeln har vi skapat ett förfarande som används för att visa dialogrutan, som används för att bläddra genom mapp för att välja mapp.
Denna kod kan användas tillsammans med andra makron där val av mapp krävs vid körning.
Logisk förklaring
I den här artikeln har vi hänvisat till två API -funktioner för att visa dialogrutan för bläddringsmapp.
När vi väljer någon särskild mapp med mappbläddrare, returnerar dialogrutan sökvägen till den valda mappen.
Följ koden nedan
Alternativ Explicit 'Declaring user data type' Används av funktionen GetFolderName 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 'Deklarera referens till API -funktion Privat Deklarera Funktion SHGetPathFromIDList Lib "shell32.dll" _ Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long Private Deklarera funktion SHBrowseForFolder Lib "shell32.dll" _ Alias "SHBrowseForFolderA" (lpBFärgLännaFöljeLänka) (Msg As String) As String 'Returnerar namnet på mappen som valts av användaren Dim bInfo Som BROWSEINFO, sökväg As String, r As Long Dim X As Long, pos As Integer bInfo.pidlRoot = 0' Typ av katalog för att returnera bInfo .ulFlags = & H1 'Visa dialogrutan X = SHBrowseForFolder (bInfo)' Analysera resultatvägen = Space $ (512) 'Calling API -funktion r = SHGetPathFromIDList (ByVal X, ByVal sökväg)' Kod för att radera extra mellanslag i slutet av mappnamn retur Om r Då pos = InStr (sökväg, Chr (0)) GetFolderName = Vänster (sökväg, pos - 1) Annan GetFolderName = "" Slut om slutfunktion Sub TestGetFolderName () Dim mappnamn som strängens anropsfunktion GetFolderName FolderName = GetFolderName ("Välj en mapp") Om FolderName = "" Då MsgBox "Du valde inte en mapp." Annars MsgBox "Du valde den här mappen:" & Mappnamn End If End Sub
Om du gillade den här bloggen, dela den med dina vänner på Facebook. Du kan också följa oss på Twitter och Facebook.
Vi vill gärna höra från dig, låt oss veta hur vi kan förbättra vårt arbete och göra det bättre för dig. Skriv till oss på e -postwebbplatsen