U ovom ćete vodiču naučiti kako dobiti imena svih datoteka u mapu i staviti ih na radni list.
Umjesto toga, ako želite naučiti kako provjeriti postoji li datoteka, možete kliknuti na ovu vezu: VBA datoteka postoji
Korištenje FileSystemObject za dobivanje popisa datoteka u mapi
VBA vam omogućuje popis svih datoteka iz mape pomoću FileSystemObject.
Pokazat ćemo kako doći do popisa datoteka u mapi C: \ VBA mapa i stavite ga u prvi stupac radnog lista. Ova se mapa sastoji od 5 datoteka, kao što je prikazano na slici 1:
Slika 1. Datoteke u mapi C: \ VBA mapa
Evo koda:
1234567891011121314151617181920 | Sub LoopThroughFiles ()Dim oFSO As ObjectZatamni mapu kao objektDim oFile As ObjectDim i Kao cijeli brojPostavi oFSO = CreateObject ("Scripting.FileSystemObject")Postavi oFolder = oFSO.GetFolder ("C: \ VBA mapa")Za svaki oFile In oFolder.FilesStanice (i + 1, 1) = oFile.Namei = i + 1Sljedeća oFileKraj podm |
U primjeru prvo stvorite objekt klase Scripting.FileSystemObject:
1 | Postavi oFSO = CreateObject ("Scripting.FileSystemObject") |
Zatim postavite mapu pomoću metode GetFolder:
1 | Postavi oFolder = oFSO.GetFolder ("C: \ VBA mapa") |
Sljedeća petlja kroz svaku datoteku u oMapa, koristeći oFile.Ime to dobiti naziv svake datoteke u mapi i upisati je u sljedeći prazan redak:
123456 | Za svaki oFile In oFolder.FilesStanice (i + 1, 1) = oFile.Namei = i + 1Sljedeća oFile |
Slika 2. Radni list s popisom datoteka u mapi
Kao što možete vidjeti na slici 2, svih 5 datoteka iz mape C: \ VBA navedene su u prvom stupcu.