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.