Excel VBA: Kontroller, om en fil findes eller ej

  • Del Dette
Hugh West

En af de mest fordelagtige anvendelser af Excel VBA i vores dagligdag er, at vi kan kontrollere, om en fil findes på vores maskine eller ej ved hjælp af den. I denne artikel vil jeg vise dig, hvordan du kan kontrollere, om en fil findes eller ej på vores computere ved hjælp af Excel VBA .

VBA-kode til at kontrollere, om en fil findes eller ej (hurtig visning)

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

Download arbejdsbog til øvelser

Download denne arbejdsbog til træning, så du kan øve dig, mens du læser denne artikel.

VBA Kontroller, om en fil findes.xlsm

En oversigt over VBA-kode til at kontrollere, om en fil findes eller ej (trinvis analyse)

Så lad os uden yderligere forsinkelse gå over til vores hoveddiskussion i dag. Vi vil opdele de VBA kode trin-for-trin for at lære, hvordan man kontrollerer, om en fil findes eller ej på vores computere.

⧪ Trin 1: Indsættelse af de nødvendige input

Lige i starten af koden skal vi indsætte de nødvendige input i den. Der er kun ét input, der kræves i denne kode, og det er navnet på den fil, vi leder efter. Indsæt det fulde filnavn (sammen med den tilhørende mappe).

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

⧪ Trin 2: Udtrække filnavnet med VBA Dir-funktionen

Nu skal vi bruge et lille trick: Vi bruger VBA Dir-funktion for at udtrække navnet på filen. Hvis der ikke findes en sådan fil, vil Dir-funktion returnerer en nulstreng.

 Fil_Navn = Dir(Fil_Navn) 

⧪ Trin 3: Kontrol af, om filen findes ved hjælp af en If-blok

Dette er det vigtigste trin. Vi har tidligere fortalt, at hvis der ikke findes nogen fil med det givne navn, returnerer Dir-funktionen en null-streng. Vi vil bruge denne egenskab i en If-blok for at kontrollere, om filen findes eller ej.

 If File_Name = "" Then MsgBox "Filen findes ikke." Else MsgBox "Filen findes." End If 

Så den komplette VBA kode vil være:

VBA-kode:

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

Output:

Kør koden. På min computer vises en beskedboks, "Filen findes" , fordi den faktisk findes på min maskine.

På din maskine kan resultatet være forskelligt afhængigt af, om filen findes eller ej.

Læs mere: Excel VBA: Kontroller, om et ark findes (2 enkle metoder)

Udvikling af en makro til at kontrollere, om en række filer eksisterer eller ej ved hjælp af Excel VBA

Her har vi et datasæt i et Excel-regneark, der indeholder navnet på nogle filer sammen med mapperne i området B4:B8 .

Vores mål er at udvikle et makroprogram, der kan skrive Eksisterer/eksisterer ikke ved siden af hver enkelt af dem efter at have kontrolleret, om de findes på computeren eller ej.

⧪ Trin 1: Åbning af VBA-vinduet

Tryk på ALT + F11 på dit tastatur for at åbne Visual Basic vindue.

⧪ Trin 2: Indsættelse af et nyt modul

Gå til Indsæt> Modul i værktøjslinjen. Klik på Modul Et nyt modul kaldet Modul1 (eller noget andet afhængigt af din tidligere historik) åbnes.

⧪ Trin 3: Indsætning af VBA-koden

Dette er det vigtigste trin. Indsæt følgende VBA kode i modulet.

VBA-kode:

 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 

⧪ Trin 5: Kørsel af koden

Klik på den Kør Sub / UserForm værktøjet fra værktøjslinjen ovenfor.

Koden vil køre, og du vil få "Eksisterer" for de filer, der findes, og "Eksisterer ikke" for de filer, der ikke findes.

Læs mere: Sådan kontrolleres det, om der findes en værdi i et område i Excel (8 måder)

Konklusion

Derfor er dette den proces, der skal udvikle en Makro for at sende en e-mail fra Excel med en vedhæftet fil. Har du spørgsmål? Du er velkommen til at spørge os. Og glem ikke at besøge vores hjemmeside ExcelWIKI for flere indlæg og opdateringer.

Hugh West er en meget erfaren Excel-træner og analytiker med over 10 års erfaring i branchen. Han har en bachelorgrad i regnskab og finans og en kandidatgrad i Business Administration. Hugh har en passion for undervisning og har udviklet en unik undervisningstilgang, der er nem at følge og forstå. Hans ekspertviden om Excel har hjulpet tusindvis af studerende og fagfolk verden over med at forbedre deres færdigheder og udmærke sig i deres karriere. Gennem sin blog deler Hugh sin viden med verden og tilbyder gratis Excel-tutorials og onlinetræning for at hjælpe enkeltpersoner og virksomheder med at nå deres fulde potentiale.