VBA listafájlok mappában

Ebben az oktatóanyagban megtudhatja, hogyan kaphatja meg a mappában található összes fájl nevét, és hogyan helyezheti el őket egy munkalapba.

Ehelyett, ha szeretné megtudni, hogyan ellenőrizheti, hogy létezik -e fájl, kattintson erre a linkre: VBA fájl létezik

A FileSystemObject használata a mappában lévő fájlok listájának lekéréséhez

A VBA lehetővé teszi az összes fájl listázását egy mappából a FileSystemObject.

Megmutatjuk, hogyan szerezheti be a mappában található fájlok listáját C: \ VBA mappa és tegye a munkalap első oszlopába. Ez a mappa 5 fájlból áll, amint az az 1. képen látható:

1. kép: Fájlok a C mappában: \ VBA mappa

Itt a kód:

1234567891011121314151617181920 Sub LoopThroughFiles ()Dim oFSO mint objektumA mappát halványítsa objektumkéntDim oFile objektumkéntDim i As IntegerSet oFSO = CreateObject ("Scripting.FileSystemObject")Az oFolder = oFSO.GetFolder beállítása ("C: \ VBA mappa")Minden oFile In oFolder.FilesSejtek (i + 1, 1) = oFile.Namei = i + 1Következő oFileEnd Sub

A példában először hozzon létre egy osztályt az osztályból Scripting.FileSystemObject:

1 Set oFSO = CreateObject ("Scripting.FileSystemObject")

Ezután állítsa be a mappát a módszerrel GetFolder:

1 Az oFolder = oFSO.GetFolder beállítása ("C: \ VBA mappa")

Következő ciklus az egyes fájlokban o Mappa, segítségével oFájl. Név szerezze be a mappa minden fájljának nevét, és írja be a következő üres sorba:

123456 Minden oFile In oFolder.FilesSejtek (i + 1, 1) = oFile.Namei = i + 1Következő oFile

2. kép. Munkalap a mappában található fájlok listájával

Amint a 2. képen látható, a C: \ VBA mappa mind az 5 fájlja szerepel az első oszlopban.

wave wave wave wave wave