I den här självstudien lär du dig hur du får namn på alla filer i en mapp och lägger dem i ett kalkylblad.
Om du istället vill lära dig att kontrollera om det finns en fil kan du klicka på den här länken: VBA -fil finns
Använda FileSystemObject för att hämta listan över filer i en mapp
Med VBA kan du lista alla filer från en mapp med hjälp av FileSystemObject.
Vi kommer att visa hur du får en lista med filer i mappen C: \ VBA -mapp och lägg den i den första kolumnen i kalkylbladet. Denna mapp består av 5 filer, som visas i bild 1:
Bild 1. Filer i mapp C: \ VBA -mapp
Här är koden:
1234567891011121314151617181920 | Sub LoopThroughFiles ()Dim oFSO som objektDim oFolder som objektDim oFile Som objektDim i As IntegerAnge oFSO = CreateObject ("Scripting.FileSystemObject")Ange oFolder = oFSO.GetFolder ("C: \ VBA -mapp")För varje oFIL I oFolder.FilesCeller (i + 1, 1) = oFile.Namei = i + 1Nästa filAvsluta Sub |
I exemplet, skapa först ett objekt i klassen Scripting.FileSystemObject:
1 | Ange oFSO = CreateObject ("Scripting.FileSystemObject") |
Ställ sedan in mappen med metoden GetFolder:
1 | Ange oFolder = oFSO.GetFolder ("C: \ VBA -mapp") |
Nästa slinga igenom varje fil i oMapp, använder sig av oFile.Name till få namnet på varje fil i mappen och skriv den i nästa tomma rad:
123456 | För varje oFIL I oFolder.FilesCeller (i + 1, 1) = oFile.Namei = i + 1Nästa fil |
Bild 2. Arbetsblad med listan över filer i mappen
Som du kan se i bild 2 listas alla fem filer från mappen C: \ VBA i den första kolumnen.