Mapa za pregledavanje za odabir mape pomoću VBA u programu Microsoft Excel

Sadržaj

U ovom smo članku izradili postupak koji se koristi za prikaz dijaloškog okvira, koji se koristi za pregledavanje mape za odabir mape.

Ovaj se kod može koristiti zajedno s drugim makronaredbama gdje je za vrijeme izvođenja potreban odabir mape.

Logično objašnjenje

U ovom članku smo se osvrnuli na dvije API funkcije za prikaz dijaloškog okvira za pregledavanje mape.

Kad odaberemo bilo koju mapu pomoću preglednika mapa, dijaloški okvir vraća put odabrane mape.

Molimo slijedite dolje za kôd

 Opcija Eksplicitno 'Deklariranje korisničkih podataka' Koristi funkcija GetFolderName Privatni tip BROWSEINFO vlasnik Vlasnik Sve dok pidlRoot Koliko je dugo pszDisplayName Kao String lpszTitle Kao String ulFlags Kao dugačak lpfn Kao dugačak lParam Kao dugačak iImage Kao Long End Type Declaring Funkcija Deklaracija Funkcija Privatna deklaracija Funkcija Deklariranje deklaracije Funkcija Deklariranje deklaracije Funkcija GetLolderName Private Type BROWSEINFO vlasnik Funkcija SHGetPathFromIDList Lib "shell32.dll" _ Alias ​​"SHGetPathFromIDListA" (ByVal pidl sve dok je, ByVal pszPath kao niz) kao duga privatna deklaracija funkcije SHBrowseForFolder Lib "shell32.dll" _ Alias ​​"SHBrowseForFoFoFoFoFoFoFoFoN (Poruka kao niz) As String 'Vraća naziv mape koju je korisnik odabrao Dim bInfo Kao BROWSEINFO, put As String, r As Long Dim X As Long, pos As Integer bInfo.pidlRoot = 0' Vrsta direktorija za povratak bInfo .ulFlags = & H1 'Prikažite dijaloški okvir X = SHBrowseForFolder (bInfo)' Raščlanite putanju rezultata = Razmak $ (512) 'API funkcija poziva r = SHGetPathFromIDList (ByVal X, ByVal putanja)' Kôd za brisanje dodatnih razmaka u kraj naziva mape return If r Then pos = InStr (path, Chr (0)) GetFolderName = Left (path, poz - 1) Else GetFolderName = "" End If End Funkcija Sub TestGetFolderName () Dim FolderName As String 'Calling function GetFolderName FolderName = GetFolderName ("Odaberite mapu") If FolderName = "" Zatim MsgBox "Niste odabrali mapu." Ostalo MsgBox "Odabrali ste ovu mapu:" & Naziv mape Završi ako završi pod 

Ako vam se dopao ovaj blog, podijelite ga sa svojim prijateljima na Facebooku. Također, možete nas pratiti na Twitteru i Facebooku.

Voljeli bismo vas čuti, javite nam kako možemo poboljšati svoj rad i učiniti ga boljim za vas. Pišite nam na web stranici e -pošte

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave