Prehľadávanie priečinka na výber priečinka pomocou jazyka VBA v programe Microsoft Excel

Obsah

V tomto článku sme vytvorili postup, ktorý sa používa na zobrazenie dialógového okna, ktoré sa používa na prehľadávanie priečinka na výber priečinka.

Tento kód je možné použiť spolu s inými makrami, kde je za behu potrebný výber priečinka.

Logické vysvetlenie

V tomto článku sme urobili odkaz na dve funkcie API na zobrazenie dialógového okna na prehľadávanie priečinka.

Keď v prehliadači priečinkov vyberieme konkrétny priečinok, v dialógovom okne sa vráti cesta k vybratému priečinku.

Pri kódovaní postupujte podľa nižšie uvedených pokynov

 Možnosť Explicitné „Deklarovanie typu používateľských údajov“ Používa funkcia GetFolderName Súkromný typ BROWSEINFO vlastník ako dlhý pidlRoot ako dlhý pszDisplayName ako reťazec lpszTitle ako reťazec ulFlags Ako dlhý lpfn Ako dlhý lParam ako dlhý iImage ako dlhý koniec typu „Vyhlasujúci odkaz na funkciu API Súkromný Funkcia SHGetPathFromIDList Lib "shell32.dll" _ Alias ​​"SHGetPathFromIDListA" (pidl ByVal dlhý, ByVal pszPath ako reťazec) Ako dlhá súkromná deklaračná funkcia SHBrowseForFolder Lib "shell32.dll" _ Alias ​​"SHBrowseForFolderSE" (Msg As String) As String 'Vráti názov priečinka vybraného užívateľom Dim bInfo As BROWSEINFO, cesta As String, r As Long Dim X As Long, pos As Integer bInfo.pidlRoot = 0' Typ adresára pre návrat bInfo .ulFlags = & H1 'Zobraziť dialógové okno X = SHBrowseForFolder (bInfo)' Analyzovať cestu výsledku = medzera $ (512) 'Volanie funkcie rozhrania API r = SHGetPathFromIDList (ByVal X, cesta ByVal)' Kód na vymazanie medzier v koniec názvu priečinka vrátiť If r Then pos = InStr (cesta, Chr (0)) GetFolderName = vľavo (cesta, poz - 1) Else GetFolderName = "" End If End Funkcia Sub TestGetFolderName () Dim FolderName As String 'Calling function GetFolderName FolderName = GetFolderName ("Vyberte priečinok") Ak FolderName = "" Potom MsgBox "Nevybrali ste priečinok." Inak MsgBox "Vybrali ste tento priečinok:" & FolderName End If End Sub 

Ak sa vám tento blog páčil, zdieľajte ho so svojimi priateľmi na Facebooku. Môžete nás tiež sledovať na Twitteri a Facebooku.

Budeme radi, ak sa nám ozvete, dajte nám vedieť, ako môžeme zlepšiť našu prácu a zlepšiť ju pre vás. Napíšte nám na emailovú stránku

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave