Tartalomjegyzék
A DIR funkció a VBA főként egy adott mappából mutatja meg a könyvtárat vagy a fájlokat. Az első fájlt is vissza tudja adni ezzel a függvénnyel. Ez a függvény rengetegszer használható konkrét fájlok és mappák kinyerésére. Mindössze a fájl elérési útvonalát kell csak beilleszteni a pathname a VBA Lehet, hogy nehezebbnek találja a VBA DIR Ne aggódjon, ebben a cikkben mutatunk néhány példát a jobb megjelenítéshez, hogy jobban használhassa a VBA DIR függvényt. Remélem, hogy a cikk elolvasása után képes leszel használni a függvényt. Kezdjük tehát.
Gyakorlati munkafüzet letöltése
Töltse le az alábbi gyakorló munkafüzetet, amely segít a téma jobb megértésében.
DIR Function.xlsmBevezetés a DIR funkcióba
Összefoglaló:
A VBA DIR függvény egy adott mappa elérési útvonalán található fájl vagy könyvtár nevét adja vissza. Hagyományosan az első fájlt adja vissza.
Szintaxis:
Dir [ (pathname, [ attributes ] ) ] ]
Érvek Magyarázat:
Érv | Kötelező/választható | Magyarázat |
---|---|---|
PathName | Opcionális | Útvonal eléréséhez, és megadja a fájlt |
Attribútumok | Opcionális | Állandó vagy numerikus kifejezés meghatározza a megfelelő fájlok attribútumait |
Van néhány előre definiált attribútum, ezek a következők...
Attribútum neve | Leírás |
---|---|
vbNormal | Speciális attribútumok nélküli fájlok |
vbReadOnly | Csak olvasható, attribútumok nélküli fájlok |
vbHidden | Attribútumok nélküli rejtett fájlok |
vbSystem | Attribútumok nélküli rendszerfájlok |
vbVolume | Kötetcímke |
vbDirectory | Attribútumok nélküli könyvtárak vagy mappák |
vbAlias | A megadott fájlnév egy alias |
7 példa a VBA DIR funkció használatára az Excelben
A leírásból talán megérthetted volna, hogy a VBA DIR függvény megadja a fájlnevet a megadott elérési útvonalból. Értelmezzük ezt egy példán keresztül. Itt létrehoztunk egy könyvtárat Exceldemy_Folder Ebben a mappában különböző kis mappák és fájlok találhatók.
1. Keresse meg a fájlnevet az elérési útvonalból
A mappánkban egy adott fájlt a fájlnév elérési útvonalának megadásával találhatunk meg.
A fájl elérési útvonalának másolása után futtatni kell a kódot.
Emiatt menjen a Fejlesztő tab>> pick Visual Basic . Akkor menj a Beillesztés tab>> select Modul. A Általános párbeszédpanelen, megírjuk a kódot.
Mivel a mi napirendünk az, hogy megtaláljuk a Filename az elérési útvonalból, akkor a teljes elérési útvonalat fogjuk beállítani (a gyökértől a fájlig), és a kódunk a következő lesz
Sub FileNames() Dim FN As String FN = Dir("E:\Exceldemy\Sales_of_January.xlsx") MsgBox FN End Sub
Itt a kódunkban az elérési útvonalat a következőképpen állítottuk be E:\Exceldemy\Sales_of_January.xlsx
Kódbontás:
- Kezdetben deklaráltunk egy string változót FN És a kimenet a Dir függvényt ebbe a változóba mentették.
- Ezután a Dir függvény megkeresi a fájl nevét, és visszaadja azt a megadott elérési útvonalból.
- Akkor a MsgBox beállítja a kimenetet az üzenőmezőn keresztül. MsgBox egy üzenőmező segítségével adja vissza a kimenetet.
- Ezután futtassa a kódot a F5 kulcs.
Végül megtaláltuk a Értékesítés_januárban.xlsx .
2. Ellenőrizze a könyvtár meglétét
Egy könyvtár létezését a Dir funkciót. Írjuk meg a kódot, hogy ellenőrizzük, hogy a Exceldemy mappa létezik. Írja le a következő kódot az általános mezőbe, és futtassa le a F5 kulcs.
Sub CheckFile() Dim PN As String Dim File As String PN = "E:\Exceldemy" File = Dir(PN, vbDirectory) If File "" Then MsgBox File & " létezik" Else MsgBox "A fájl nem létezik" End If End Sub
Kódbontás:
- Két változót deklaráltunk; PN tartalmazza az ellenőrző könyvtárunk teljes elérési útvonalát.
- Itt a Dir függvényben két értéket, az elérési utat és az attribútum értékét állítottuk be, mint vbDirectory Ez az attribútum értéke segít a könyvtár felismerésében. A függvény kimenete pedig a Fájl változó.
- Ezután ellenőrizzük, hogy a változó üres-e. Ha úgy találjuk, hogy a változó nem üres, akkor egy üzenőmezőn keresztül kijelentjük a könyvtár létezését, ellenkező esetben a visszatérés nem létezik.
Itt a Exceldemy könyvtár létezik, így megtaláljuk a " Exceldemy létezik ", ahol Exceldemy a mappa neve.
3. Nem létező mappa létrehozása
Létrehozhat olyan mappát, amely nem létezik a számítógépén. Ehhez olyan elérési utat kell létrehoznia, amely nem létezik a mappáiban. Képzeljük el, hogy létrehozunk egy könyvtárat, amelynek a címe Exceldemy_1 . Használni fogjuk a MkDir parancsot a könyvtár létrehozásához, de előtte még meg kell írnunk a következőt VBA kód.
Sub CheckFile() Dim PN As String Dim File As String PN = "E:\Exceldemy_1" File = Dir(PN, vbDirectory) If File "" Then MsgBox File & " File mappa létezik" Else MkDir PN MsgBox "A fájl mappa jött létre a névvel" & File End If End Sub
Itt írtunk egy parancsot a könyvtár létrehozására az elérési útvonalat használva a Else blokkja a kódunknak. Fuss a kódot a F5 kulcs.
A könyvtár létrejött. Nézzük meg a könyvtár mappát. A Exceldemy_1 mappa már látható a számítógépén.
Hasonló olvasmányok:
- Hogyan hívhat egy alprogramot a VBA-ban az Excelben (4 példa)
- Érték visszaadása a VBA-funkcióban (tömb és nem tömb értékek)
- A VBA UCASE funkció használata Excelben (4 példa)
- Hogyan használjuk a TRIM funkciót a VBA-ban az Excelben (definíció + VBA-kód)
4. Az első fájl keresése egy könyvtárból
Az elsődleges feladat a Dir függvény feladata, hogy megtalálja az első fájlt a megadott könyvtárban. A függvényen belül csak az elérési utat kell megadni (a tároló könyvtárig), és a függvény visszaadja a könyvtár legelső fájlját.
Keressük meg az első fájlt a Exceldemy A kódunk a következő lesz
Sub FirstFileinFolder() Dim FN As String Dim PN As String PN = "E:\Exceldemy\" FN = Dir(PN) MsgBox "Első fájl: " & FN End Sub
Láthatjuk az alapkódot; az elérési utat átadtuk a Dir funkció. Most Fuss a kódot a F5 billentyűvel az első fájlt ebben a könyvtárban találja meg.
5. Minden fájl keresése egy könyvtárból
Az előző részben láttuk, hogyan találjuk meg az első fájlnevet egy könyvtárból. Előfordulhat az a helyzet, hogy egy adott könyvtár összes fájlját meg kell találnunk. Egy adott könyvtár összes fájljának megkereséséhez a következőt kell írnunk VBA kód.
Sub AllFile() Dim FN As String Dim FL As String FN = Dir("E:\Exceldemy\") Do While FN "" FL = FL & vbNewLine & FN FN = Dir() Loop MsgBox ("File List:" & FL) End Sub
Itt van két változó a fájlnevek tárolására egyetlen ( FN ), és listaként ( FL ). Do While ciklus addig iterál, amíg egyetlen fájl sem marad a könyvtárban, ezzel a ciklus segítségével minden fájlnevet a FL változó.
Futtassa le a kódot, és az alábbi képen látható módon megtalálja az összes fájlt a könyvtárban.
6. Az összes fájl és mappa keresése egy könyvtárból
Az előző részben már említettük, hogy hol találjuk meg az összes fájlt. Egy mappán belül az összes almappát is megtalálhatjuk. Ehhez írjuk a következőt VBA kódot, amelyet az alábbiakban csatoltunk.
Sub AllFileFolders() Dim AN As String Dim Lst As String AN = Dir("E:\Exceldemy_Folder\", vbDirectory) Do While AN "" Lst = Lst & vbNewLine & AN AN = Dir() Loop MsgBox ("File Lst:" & Lst) End Sub
A változás a kódunkban csak az attribútum paraméterek használata. A vbDirectory ezen a területen. Fuss a kódot, és az összes fájlt és almappát megtalálja a Exceldemy_Folder .
7. Egy adott típusú összes fájl keresése
A VBA Dir függvény segítségével bármilyen fájltípust megtalálhatunk. Nézzünk egy példát.
Meg fogjuk találni .csv a könyvtárunkból. A kódunk a következő lesz-
Sub SpecialTypeFiles() Dim FL As String Dim FN As String FN = Dir("E:\Exceldemy_Folder\Exceldemy\*.csv") Do While FN "" FL = FL & vbNewLine & FN FN = Dir() Loop MsgBox ("List of .csv Files:" & FL) End Sub
Reméljük, hogy megértette a kódot, amely hasonló mechanizmust használ a fájlok keresésére. Az elérési névben egy jokert használtunk ( * ). Ez a csillag (*) azt jelenti, hogy bármilyen karakter előfordulhat bármilyen számig. A jokert úgy használtuk, hogy a fájlnév bármi lehet, de a fájlnévnek egy .csv fájl.
Amikor a kódot futtatod, az a következő értéket adja vissza .csv fájlokat a Exceldemy könyvtár.
Gyakorlati szekció
Minden egyes lapon a jobb oldalon egy gyakorló rész van a gyakorláshoz. Kérjük, végezze el egyedül.
Következtetés
Ennyit a mai ülésről. És ezek néhány egyszerű példa a VBA Dir függvényt az Excelben. Kérjük, ha bármilyen kérdése vagy javaslata van, ossza meg velünk a hozzászólások rovatban. A jobb megértés érdekében kérjük, töltse le a gyakorló lapot. Látogasson el weboldalunkra, Exceldemy , egy egyablakos Excel-megoldásszolgáltatót, hogy megismerje a különféle Excel-módszereket. Köszönjük, hogy türelmesen olvasta ezt a cikket.