V tej vadnici se boste naučili, kako dobiti imena vseh datotek v mapo in jih dati na delovni list.
Če želite izvedeti, kako preveriti, ali datoteka obstaja, lahko kliknete to povezavo: Datoteka VBA obstaja
Uporaba FileSystemObject za pridobivanje seznama datotek v mapi
VBA vam omogoča, da prikažete vse datoteke iz mape s pomočjo FileSystemObject.
Pokazali bomo, kako dobiti seznam datotek v mapi C: \ VBA mapa in ga vstavite v prvi stolpec delovnega lista. Ta mapa je sestavljena iz 5 datotek, kot je prikazano na sliki 1:
Slika 1. Datoteke v mapi C: \ VBA Mapa
Tukaj je koda:
1234567891011121314151617181920 | Sub LoopThroughFiles ()Zatemni oFSO kot objektZatemni o mapo kot predmetDim oFile As ObjectDim i kot celo številoNastavi oFSO = CreateObject ("Scripting.FileSystemObject")Nastavi oFolder = oFSO.GetFolder ("C: \ VBA Mapa")Za vsako datoteko oFile In oFolder.FilesCelice (i + 1, 1) = oFile.Namei = i + 1Naslednji oFileEnd Sub |
V primeru najprej ustvarite objekt razreda Scripting.FileSystemObject:
1 | Nastavi oFSO = CreateObject ("Scripting.FileSystemObject") |
Nato z uporabo metode nastavite mapo GetFolder:
1 | Nastavi oFolder = oFSO.GetFolder ("C: \ VBA Mapa") |
Naslednja zanka skozi vsako datoteko v o mapa, z uporabo oFile.Ime za dobite ime vsake datoteke v mapi in jo zapišite v naslednjo prazno vrstico:
123456 | Za vsako datoteko oFile In oFolder.FilesCelice (i + 1, 1) = oFile.Namei = i + 1Naslednji oFile |
Slika 2. Delovni list s seznamom datotek v mapi
Kot lahko vidite na sliki 2, je vseh 5 datotek iz mape C: \ VBA navedenih v prvem stolpcu.