VBA-lijst bestanden in map

In deze zelfstudie leert u hoe u namen van alle bestanden in een map kunt krijgen en deze in een werkblad kunt plaatsen.

Als u in plaats daarvan wilt leren hoe u kunt controleren of een bestand bestaat, kunt u op deze link klikken: VBA-bestand bestaat

Het FileSystemObject gebruiken om de lijst met bestanden in een map op te halen

Met VBA kunt u alle bestanden uit een map weergeven met behulp van de BestandssysteemObject.

We zullen laten zien hoe u een lijst met bestanden in de map kunt krijgen C:\VBA-map en zet het in de eerste kolom van het werkblad. Deze map bestaat uit 5 bestanden, zoals weergegeven in afbeelding 1:

Afbeelding 1. Bestanden in map C:\VBA Folder

Hier is de code:

1234567891011121314151617181920 Sub LoopThroughFiles ()Dim oFSO als objectDim oFolder als objectDim ofFile As ObjectDim ik als geheel getalStel oFSO = CreateObject ("Scripting.FileSystemObject") inStel oFolder = oFSO.GetFolder("C:\VBA-map") inVoor elk oFile in oFolder.FilesCellen (i + 1, 1) = oBestand.Naamik = ik + 1Volgende bestandEinde sub

Maak in het voorbeeld eerst een object van de klasse Scripting.FileSystemObject:

1 Stel oFSO = CreateObject ("Scripting.FileSystemObject") in

Stel vervolgens de map in met de methode Map ophalen:

1 Stel oFolder = oFSO.GetFolder("C:\VBA-map") in

Loop vervolgens door elk bestand in oMap, gebruik makend van oFile.Name to haal de naam op van elk bestand in de map en schrijf het in de volgende lege rij:

123456 Voor elk oFile in oFolder.FilesCellen (i + 1, 1) = oBestand.Naamik = ik + 1Volgende bestand

Afbeelding 2. Werkblad met de lijst met bestanden in de map

Zoals u kunt zien in Afbeelding 2, worden alle 5 bestanden uit de C:\VBA-map weergegeven in de eerste kolom.

wave wave wave wave wave