Extrahovanie názvu súboru a názvu priečinka z cesty k súboru pomocou programu VBA v programe Microsoft Excel

Anonim

V tomto článku sme zdieľali kód VBA na napísanie vlastnej funkcie na extrahovanie názvu súboru a názvu priečinka z cesty k súboru.

Pôvodné údaje pre tento príklad určujú úplnú cestu k určitým súborom.

Logické vysvetlenie

V tomto prípade sme vytvorili vlastnú funkciu VBA „FileOrFolderName“, ktorá ako výstup vracia názov súboru alebo priečinka.

Funkcia „FileOrFolderName“ používa ako vstup dva parametre. Prvý parameter berie ako vstup cestu k súboru. Druhý parameter berie ako vstup logickú hodnotu, ak chceme ako výstup názov súboru, priradíme tomuto parametru hodnotu True a ak chceme ako výstup názov priečinka, priradíme tomuto parametru hodnotu False.

Na oddelenie názvu súboru a názvu priečinka od cesty k súboru najskôr nájdeme umiestnenie posledného výskytu oddeľovača cesty v rámci cesty k súboru. Po poslednom výskyte oddeľovača ciest môžeme ľahko oddeliť názov súboru a názov priečinka ako text. Na pravej strane oddeľovača ciest je názov súboru a text na ľavej strane oddeľovača ciest je názov priečinka.

Ak v ceste k súboru neexistuje oddeľovač cesty, ako názov priečinka je zadaná predvolená cesta k adresáru.

Vykonáva sa vlastná funkcia

Ak chcete použiť definovanú vlastnú funkciu, prejdite do bunky C14 a zadajte funkciu = FileOrFolderName (B14, FALSE) a do bunky D14 zadajte funkciu = FileOrFolderName (B14, TRUE), kde bunka B14 obsahuje cestu k súboru.

Bunka C14 poskytne názov priečinka a bunka D14 názov súboru.

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

 Funkcia FileOrFolderName (InputString As String, _ ReturnFileName As Boolean) As String 'Vráti názov priečinka alebo názov súboru na základe priradenej boolovskej hodnoty Dim i As Integer, FolderName As String, FileName As String i = 0' Kód použitý na nájdenie polohy posledného výskyt oddeľovača ciest Kým InStr (i + 1, InputString, Application.PathSeparator)> 0 i = InStr (i + 1, InputString, Application.PathSeparator) Wend 'Extrahovať cestu k priečinku' Ak nie je nájdený žiadny oddeľovač cesty, priradiť predvolená cesta k adresáru If i = 0 Then FolderName = CurDir Else FolderName = Left (InputString, i - 1) End If 'Extracting the file name FileName = Right (InputString, Len (InputString) - i)' Returning the folder or file name z funkcie založenej na parametri ReturnFileName If ReturnFileName Then FileOrFolderName = FileName Else FileOrFolderName = FolderName End If End Function 

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