U ovom smo članku podijelili VBA kôd za pisanje prilagođene funkcije za izdvajanje naziva datoteke i naziva mape iz putanje datoteke.
Sirovi podaci za ovaj primjer navode punu putanju određenih datoteka.
Logično objašnjenje
U ovom primjeru stvorili smo prilagođenu VBA funkciju “FileOrFolderName” koja vraća naziv datoteke ili mape kao izlaz.
Funkcija "FileOrFolderName" uzima dva parametra kao ulaz. Prvi parametar uzima putanju datoteke kao ulaz. Drugi parametar uzima logičku vrijednost kao ulaz, ako želimo naziv datoteke kao izlaz tada ćemo ovom parametru dodijeliti True vrijednost, a ako želimo naziv mape kao izlaz tada ćemo ovom parametru dodijeliti False vrijednost.
Za odvajanje naziva datoteke i naziva mape od putanje datoteke, prvo pronalazimo mjesto zadnjeg pojavljivanja separatora staze unutar putanje datoteke. Nakon posljednjeg pojavljivanja separatora puta, lako možemo odvojiti naziv datoteke i naziv mape kao tekst. Na desnoj strani separatora puta je naziv datoteke, a tekst na lijevoj strani separatora puta naziv mape.
Ako u stazi datoteke ne postoji separator puta, tada je zadana staza direktorija navedena kao naziv mape.
Izvođenje prilagođene funkcije
Za korištenje definirane prilagođene funkcije idite u ćeliju C14 i unesite funkciju = Ime datotekeDatoteka (B14, FALSE), a u ćeliju D14 unesite funkciju = Ime datotekeDatoteka (B14, ISTINA), gdje ćelija B14 sadrži put do datoteke.
Ćelija C14 dat će naziv mape, a ćelija D14 ime datoteke.
Molimo slijedite dolje za kôd
Funkcija FileOrFolderName (InputString As String, _ ReturnFileName As Boolean) As String 'Vraća naziv mape ili naziv datoteke na temelju logičke vrijednosti dodijeljene Dim i As Integer, FolderName As String, FileName As String i = 0' Kod koji se koristi za pronalaženje posljednje pozicije pojavljivanje separatora puta Dok je InStr (i + 1, InputString, Application.PathSeparator)> 0 i = InStr (i + 1, InputString, Application.PathSeparator) Wend 'Izdvoji putanju mape' Ako se ne pronađe pojavljivanje separatora puta, dodijeli zadana putanja direktorija Ako je i = 0 Tada je Ime mape = CurDir Ostalo Ime mape = Lijevo (InputString, i - 1) Kraj Ako 'Izdvajanje naziva datoteke Ime datoteke = Desno (InputString, Len (InputString) - i)' Vraćanje naziva mape ili datoteke iz funkcije temeljene na parametru ReturnFileName Ako ReturnFileName Zatim FileOrFolderName = Ime datoteke Ostalo FileOrFolderName = Ime mape Kraj ako završi Funkcija
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