Telefonszámunk: 1-472-0679

Teljes útvonalból fájlnév vagy mappa – VBA

2016-07-11 - horvimi - Kategória: Makró általános
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

Működés közben

Vélemény, hozzászólás?