Ez az Excel makró lehetővé teszi a fájl elérési útjának átadását annak értékeléséhez, hogy a fájl ott van-e. Például előfordulhat, hogy egy folyamat manipulál egy fájlt valahol a számítógépén. Előfordulhat például, hogy meg kell nyitnia egy meglévő munkafüzetet, hogy naponta adatokat adjon hozzá. Ebben az esetben előfordulhat, hogy tesztelnie kell, hogy létezik-e a kezelni kívánt fájl.
Hogyan működik a makró
Az első dolog, amit észre kell venni ezzel a makróval kapcsolatban, hogy ez egy függvény, nem pedig egy aleljárás. Ha ezt a makrót funkcióvá teszi, akkor bármilyen fájl elérési utat átadhat neki.
Ebben a makróban a Dir függvényt használja, amely egy karakterláncot ad vissza, amely a fájl nevét jelöli, amely megegyezik azzal, amit átadott neki. Ez a függvény sokféleképpen használható, de itt ellenőrizheti, hogy létezik-e a neki átadott fájl elérési útja:
Függvény FileExists(FPath As String) Boolean-ként
'1. lépés: Deklarálja a változókat
Dim FName As String
'2. lépés: Használja a Dir függvényt a fájlnév lekéréséhez
FName = Dir(FPath)
'3. lépés: Ha a fájl létezik, adja vissza a True értéket; egyébként hamis
Ha FName <> " Akkor FileExists = True _
Egyéb: FileExists = False
Funkció befejezése
Az 1. lépés deklarál egy String változót, amely tartalmazza a Dir függvényből visszaadott fájlnevet. Az FName a String változó neve.
A 2. lépésben megpróbálja beállítani az FName változót. Ezt úgy teheti meg, hogy átadja az FPath változót a Dir függvénynek. Ez az FPath változó a függvénydeklarációkon keresztül kerül átadásra (lásd a kód első sorát). Ez a struktúra megakadályozza, hogy a fájl elérési útját kemény kóddal kelljen kódolnia, hanem változóként adja át.
Ha az FName változó nem állítható be, akkor az átadott útvonal nem létezik. Így az FName változó üres. A 3. lépés csupán az eredményt igaz vagy hamis kifejezésre fordítja.
Ez a függvény is használható bármely fájl elérési útjának kiértékelésére, amelyet átadott neki. Ez a makró függvényként írásának szépsége.
A következő makró bemutatja a funkció használatát:
Almakró1()
Ha a FileExists("C:TempMyNewBook.xlsx") = igaz, akkor
MsgBox "A fájl létezik."
Más
MsgBox "A fájl nem létezik."
Vége Ha
Vége Sub
Hogyan kell használni a makrót
A makró megvalósításához kimásolhatja és beillesztheti mindkét kódrészletet egy szabványos modulba:
Aktiválja a Visual Basic Editort az Alt+F11 megnyomásával.
Kattintson a jobb gombbal a projekt/munkafüzet nevére a projekt ablakában.
Válassza a Beszúrás → Modul menüpontot.
Írja be vagy illessze be a kódot az újonnan létrehozott modulba.