Hivatkozott Excel verzio: Excel 2007 Excel 2010 Excel 2013
Gyakori feladat, hogy egy fájl teljes elérési útjából ki kell nyerni a fájlnevet és/vagy a mappa útvonalat.
Tehát ha például egy GetOpenFilename függvény visszaadja a kiválasztott fájl teljes elérési útját,
C:\PROJEKTEK\2016\Excel-Ppt-chart-project\Top10\Top10_template.pptx
Akkor ebből szükségünk lehet az útvonalra
C:\PROJEKTEK\2016\Excel-Ppt-chart-project\Top10\
és a fájlnévre
Top10_template.pptx
Ehhez adnék közre két függvényt.
Teljes útvonalból mappa útvonal
Function GetDirectory(fullpath) GetDirectory = Left(fullpath, InStrRev(fullpath, "\")) End Function
Az InStrRev VBA függvény a kulcs, ami „Reverese”, azaz fordított irányú keresést végez. A kifejezés tehát hátulról indulva keresi az első backslash-t, és az eredeti teljes útvonalból balról levágja addig.
Teljes útvonalból fájlnév
Function GetFilename(fullpath) GetFilename = Replace(fullpath, Left(fullpath, InStrRev(fullpath, "\")), ””) End Function
Itt pedig azt csináljuk, hogy a teljes elérési útban helyettesítjük az előző módszerrel megtalált mappa útvonalat a semmivel, azaz az üres string-gel.
Ezt a két kis függvényt érdemes eltenni a kódbázisunkba, jól jöhet szinte bármelyik projektben.
Letölthető munkafüzet
mappautvonal_es_fajlnev_teljes_utvonalbol
Vélemény, hozzászólás?
Hozzászólás küldéséhez be kell jelentkezni.