Excel VBA: Kontrollera om en fil finns eller inte

  • Dela Detta
Hugh West

En av de mest fördelaktiga användningarna av Excel VBA i vårt dagliga liv är att vi kan kontrollera om en fil finns på vår dator eller inte med hjälp av den. I den här artikeln ska jag visa dig hur du kan kontrollera om en fil finns eller inte på våra datorer med hjälp av Excel. VBA .

VBA-kod för att kontrollera om en fil finns eller inte (snabbvisning)

 Sub Check_If_a_File_Exists() File_Name = "E:\ExcelWIKI\Book1.xlsm" File_Name = Dir(File_Name) If File_Name = "" Then MsgBox "Filen finns inte." Else MsgBox "Filen finns." End If End Sub 

Ladda ner övningsboken

Ladda ner den här arbetsboken för att träna medan du läser den här artikeln.

VBA Kontrollera om en fil finns.xlsm

En översikt över VBA-koden för att kontrollera om en fil finns eller inte (steg-för-steg-analys)

Låt oss därför utan dröjsmål gå över till dagens huvuddiskussion. Vi kommer att dela upp de VBA kod steg för steg för att lära oss hur vi kontrollerar om en fil finns eller inte finns på våra datorer.

⧪ Steg 1: Infoga nödvändig input

I början av koden måste vi sätta in de nödvändiga uppgifterna i den. Det finns bara en uppgift som krävs i den här koden, och det är namnet på den fil som vi letar efter. Sätt in det fullständiga filnamnet (tillsammans med den tillhörande katalogen).

 File_Name = "C:\ExcelWIKI\Book1.xlsm" 

⧪ Steg 2: Extrahera filnamnet med VBA Dir-funktionen

Därefter använder vi ett litet knep: Vi använder VBA Dir-funktion för att ta fram namnet på filen. Om det inte finns någon sådan fil, kommer Dir-funktion returnerar en nollsträng.

 File_Name = Dir(File_Name) 

⧪ Steg 3: Kontrollera om filen finns med hjälp av ett If-block

Detta är det viktigaste steget. Vi har tidigare berättat att om det inte finns någon fil med det angivna namnet returnerar Dir-funktionen en nollsträng. Vi kommer att använda denna egenskap i en If-block för att kontrollera om filen finns eller inte.

 If File_Name = "" Then MsgBox "Filen finns inte." Else MsgBox "Filen finns." End If 

Så den fullständiga VBA koden kommer att vara:

VBA-kod:

 Sub Check_If_a_File_Exists() File_Name = "E:\ExcelWIKI\Book1.xlsm" File_Name = Dir(File_Name) If File_Name = "" Then MsgBox "Filen finns inte." Else MsgBox "Filen finns." End If End Sub 

Utgång:

Kör koden. På min dator visas en meddelanderuta, "Filen finns" eftersom den faktiskt finns på min dator.

På din maskin kan utmatningen vara annorlunda beroende på om filen finns eller inte.

Läs mer: Excel VBA: Kontrollera om ett ark finns (2 enkla metoder)

Utveckla ett makro för att kontrollera om ett intervall av filer finns eller inte med Excel VBA

Här har vi en datamängd i ett Excel-arbetsblad som innehåller namnet på några filer tillsammans med katalogerna i intervallet B4:B8 .

Vårt mål är att utveckla en makro som skriver Finns/finns inte bredvid var och en av dem efter att ha kontrollerat om de finns på datorn eller inte.

⧪ Steg 1: Öppna VBA-fönstret

Tryck på ALT + F11 på tangentbordet för att öppna Visual Basic fönster.

⧪ Steg 2: Infoga en ny modul

Gå till Infoga> Modul i verktygsfältet. Klicka på Modul En ny modul som heter Modul1 (eller något annat beroende på din tidigare historia) öppnas.

⧪ Steg 3: Lägg in VBA-koden

Det här är det viktigaste steget. VBA kod i modulen.

VBA-kod:

 Sub Check_If_a_Range_of_File_Exist() Set Rng = ActiveSheet.Range("B4:B8") For i = 1 To Rng.Rows.Count File_Name = Dir(Rng.Cells(i, 1)) If File_Name = "" Then Rng.Cells(i, 2) = "Doesn't Exist" Else Rng.Cells(i, 2) = "Exists" End If Next i End Sub 

⧪ Steg 5: Kör koden

Klicka på Kör Sub / UserForm i verktygsfältet ovan.

Koden kommer att köras. Och du får följande resultat "Finns" för de filer som finns, och "Finns inte" för de filer som inte finns.

Läs mer: Kontrollera om värdet finns i ett intervall i Excel (8 sätt)

Slutsats

Detta är därför processen för att utveckla en Makro för att skicka ett e-postmeddelande från Excel med en bilaga. Har du några frågor? Fråga oss gärna. Och glöm inte att besöka vår webbplats ExcelWIKI för fler inlägg och uppdateringar.

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.