Ova Excel makronaredba omogućuje vam proslijeđivanje putanje datoteke kako biste procijenili je li datoteka tamo. Na primjer, možda imate proces koji manipulira datotekom negdje na vašem računalu. Na primjer, možda ćete morati otvoriti postojeću radnu knjigu da biste joj dodavali podatke na dnevnoj bazi. U tom slučaju, možda ćete morati testirati postoji li datoteka kojom trebate manipulirati.
Kako makro funkcionira
Prva stvar koju treba primijetiti kod ove makronaredbe je da je to funkcija, a ne podprocedura. Ako ovu makronaredbu učinite funkcijom, možete joj proslijediti bilo koji put datoteke.
U ovoj makronaredbi koristite funkciju Dir, koja vraća niz koji predstavlja naziv datoteke koji odgovara onome što joj prosljeđujete. Ova se funkcija može koristiti na mnogo načina, ali ovdje je koristite da provjerite postoji li put datoteke koji joj prosljeđujete:
Funkcija FileExists (FPath kao string) kao Boolean
'Korak 1: Deklarirajte svoje varijable
Dim FName kao niz
'Korak 2: Koristite funkciju Dir da biste dobili naziv datoteke
FName = Dir (FPath)
'Korak 3: Ako datoteka postoji, vratite True; inače Netočno
Ako FName <> " Tada datoteka postoji = True _
Ostalo: FileExists = False
Završna funkcija
Korak 1 deklarira varijablu String koja sadrži naziv datoteke koji se vraća iz funkcije Dir. FName je naziv varijable String.
U koraku 2 pokušavate postaviti varijablu FName. To činite prosljeđivanjem varijable FPath funkciji Dir. Ova FPath varijabla se prosljeđuje putem deklaracija funkcije (pogledajte prvi redak koda). Ova struktura sprječava da morate tvrdo kodirati putanju datoteke, prosljeđujući je kao varijablu.
Ako se varijabla FName ne može postaviti, put koji ste prošli ne postoji. Dakle, varijabla FName je prazna. Korak 3 samo prevodi taj rezultat u izraz Točno ili Netočno.
Opet, ova se funkcija može koristiti za procjenu bilo koje putanje datoteke koju joj proslijedite. Ovo je ljepota pisanja makronaredbe kao funkcije.
Sljedeća makronaredba pokazuje kako koristiti ovu funkciju:
Podmakro1()
Ako FileExists("C:TempMyNewBook.xlsx") = True Onda
MsgBox "Datoteka postoji."
Drugo
MsgBox "Datoteka ne postoji."
Završi ako
Kraj Sub
Kako koristiti makro
Da biste implementirali ovu makronaredbu, možete kopirati i zalijepiti oba dijela koda u standardni modul:
Aktivirajte Visual Basic Editor pritiskom na Alt+F11.
Desnom tipkom miša kliknite naziv projekta/radne knjige u prozoru projekta.
Odaberite Umetanje→Modul.
Upišite ili zalijepite kod u novostvoreni modul.