Denne Excel-makro giver dig mulighed for at sende en filsti for at vurdere, om filen er der. For eksempel kan du have en proces, der manipulerer en fil et sted på din pc. For eksempel kan det være nødvendigt at åbne en eksisterende projektmappe for at tilføje data til den på daglig basis. I dette tilfælde skal du muligvis teste for at se, om den fil, du skal manipulere, eksisterer.
Sådan fungerer makroen
Den første ting at bemærke ved denne makro er, at det er en funktion, ikke en underprocedure. Hvis du gør denne makro til en funktion, kan du sende en hvilken som helst filsti til den.
I denne makro bruger du Dir-funktionen, som returnerer en streng, der repræsenterer navnet på den fil, der matcher det, du sender til den. Denne funktion kan bruges på mange måder, men her bruger du den til at kontrollere, om den filsti, du sender til den, eksisterer:
Funktionen FileExists(FPath As String) Som Boolean
Trin 1: Erklær dine variabler
Dim F-navn som streng
Trin 2: Brug Dir-funktionen til at få filnavnet
FName = Dir(FPath)
Trin 3: Hvis filen eksisterer, returner True; ellers falsk
Hvis FName <> " Så eksisterer File = True _
Else: FileExists = False
Afslut funktion
Trin 1 erklærer en strengvariabel, der indeholder filnavnet, der returnerer fra Dir-funktionen. FName er navnet på String-variablen.
I trin 2 forsøger du at indstille FName-variablen. Det gør du ved at overføre FPath-variablen til Dir-funktionen. Denne FPath-variabel sendes via funktionsdeklarationerne (se første linje i koden). Denne struktur forhindrer dig i at skulle hardkode en filsti og videregive den som en variabel i stedet.
Hvis FName-variablen ikke kan indstilles, eksisterer den sti, du passerede, ikke. Således er FName-variablen tom. Trin 3 oversætter blot dette resultat til et sandt eller falsk udtryk.
Igen kan denne funktion bruges til at evaluere enhver filsti, du sender til den. Dette er skønheden ved at skrive makroen som en funktion.
Følgende makro viser, hvordan du bruger denne funktion:
Undermakro1()
If FileExists("C:TempMyNewBook.xlsx") = Sand Så
MsgBox "Filen findes."
Andet
MsgBox "Filen findes ikke."
Afslut Hvis
Slut Sub
Sådan bruger du makroen
For at implementere denne makro kan du kopiere og indsætte begge kodestykker i et standardmodul:
Aktiver Visual Basic Editor ved at trykke på Alt+F11.
Højreklik på projektets/projektmappens navn i projektvinduet.
Vælg Indsæt → Modul.
Indtast eller indsæt koden i det nyoprettede modul.