Lista fișierelor VBA în dosar

În acest tutorial, veți afla cum să obțineți numele tuturor fișierelor dintr-un folder și să le introduceți într-o foaie de lucru.

În schimb, dacă doriți să aflați cum să verificați dacă există un fișier, puteți face clic pe acest link: Fișierul VBA există

Utilizarea FileSystemObject pentru a obține lista fișierelor dintr-un folder

VBA vă permite să listați toate fișierele dintr-un folder, utilizând FileSystemObject.

Vom arăta cum să obțineți o listă de fișiere în dosar C: \ Folder VBA și puneți-o în prima coloană a foii de lucru. Acest dosar este format din 5 fișiere, așa cum se arată în imaginea 1:

Imagine 1. Fișiere din folderul C: \ Folder VBA

Iată codul:

1234567891011121314151617181920 Sub LoopThroughFiles ()Dim oFSO Ca obiectReduceți folderul ca obiectDim oFile ca obiectDim i IntegerSetați oFSO = CreateObject ("Scripting.FileSystemObject")Setați oFolder = oFSO.GetFolder („C: \ Folder VBA”)Pentru fiecare oFile din oFolder.FilesCelule (i + 1, 1) = oFile.Namei = i + 1Următorul oFisierSfârșitul Sub

În exemplu, creați mai întâi un obiect al clasei Scripting.FileSystemObject:

1 Setați oFSO = CreateObject ("Scripting.FileSystemObject")

Apoi setați folderul folosind metoda GetFolder:

1 Setați oFolder = oFSO.GetFolder („C: \ Folder VBA”)

Următoarea buclă prin fiecare fișier din o Dosar, folosind oFile.Nume către obțineți numele fiecărui fișier din dosar și scrieți-l în următorul rând gol:

123456 Pentru fiecare oFile din oFolder.FilesCelule (i + 1, 1) = oFile.Namei = i + 1Următorul oFisier

Imagine 2. Foaie de lucru cu lista de fișiere din folder

După cum puteți vedea în imaginea 2, toate cele 5 fișiere din folderul C: \ VBA sunt listate în prima coloană.

wave wave wave wave wave