Datoteke s seznamom VBA v mapi

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.

wave wave wave wave wave