Detta Excel-makro låter dig skicka en filsökväg för att utvärdera om filen finns där. Till exempel kan du ha en process som manipulerar en fil någonstans på din PC. Till exempel kan du behöva öppna en befintlig arbetsbok för att lägga till data till den dagligen. I det här fallet kan du behöva testa för att se om filen du behöver manipulera finns.
Hur makrot fungerar
Det första man bör lägga märke till med detta makro är att det är en funktion, inte en Sub-procedur. Genom att göra detta makro till en funktion kan du skicka vilken sökväg som helst till det.
I det här makrot använder du Dir-funktionen, som returnerar en sträng som representerar namnet på filen som matchar det du skickar till den. Den här funktionen kan användas på många sätt, men här använder du den för att kontrollera om filsökvägen du skickar till den finns:
Funktionen FileExists(FPath As String) Som Boolean
'Steg 1: Deklarera dina variabler
Dim FName As String
'Steg 2: Använd Dir-funktionen för att få filnamnet
FName = Dir(FPath)
'Steg 3: Om filen finns, returnera True; annars Falskt
Om FName <> " Då FileExists = True _
Annars: FileExists = False
Avsluta funktion
Steg 1 deklarerar en strängvariabel som innehåller filnamnet som returneras från Dir-funktionen. FName är namnet på Stringvariabeln.
I steg 2 försöker du ställa in variabeln FName. Du gör detta genom att skicka variabeln FPath till Dir-funktionen. Denna FPath-variabel skickas via funktionsdeklarationerna (se första raden i koden). Den här strukturen förhindrar att du måste hårdkoda en filsökväg och skicka den som en variabel istället.
Om variabeln FName inte kan ställas in, finns inte sökvägen du skickade. Således är variabeln FName tom. Steg 3 översätter bara resultatet till ett sant eller falskt uttryck.
Återigen, den här funktionen kan användas för att utvärdera alla filsökvägar du skickar till den. Det här är det fina med att skriva makrot som en funktion.
Följande makro visar hur du använder den här funktionen:
Sub Macro1()
If FileExists("C:TempMyNewBook.xlsx") = True Then
MsgBox "Filen finns."
Annan
MsgBox "Filen finns inte."
Avsluta om
Avsluta Sub
Hur man använder makrot
För att implementera detta makro kan du kopiera och klistra in båda kodbitarna i en standardmodul:
Aktivera Visual Basic Editor genom att trycka på Alt+F11.
Högerklicka på projektets/arbetsbokens namn i projektfönstret.
Välj Infoga → Modul.
Skriv eller klistra in koden i den nyskapade modulen.