Toto makro Excel vám umožňuje zadať cestu k súboru, aby ste vyhodnotili, či súbor existuje. Napríklad môžete mať proces, ktorý manipuluje so súborom niekde vo vašom počítači. Možno budete musieť napríklad otvoriť existujúci zošit, aby ste doň denne pridávali údaje. V tomto prípade možno budete musieť otestovať, či súbor, s ktorým potrebujete manipulovať, existuje.
Ako funguje makro
Prvá vec, ktorú si treba na tomto makre všimnúť, je, že ide o funkciu, nie procedúru Sub. Vytvorenie tohto makra ako funkcie vám umožní odovzdať mu akúkoľvek cestu k súboru.
V tomto makre použijete funkciu Dir, ktorá vráti reťazec, ktorý predstavuje názov súboru, ktorý sa zhoduje s tým, čo mu odovzdáte. Táto funkcia sa dá použiť mnohými spôsobmi, ale tu ju môžete použiť na kontrolu, či existuje cesta k súboru, ktorý jej odovzdávate:
Funkcia FileExists(FPath As String) Ako booleovská
'Krok 1: Deklarujte svoje premenné
Dim FName As String
'Krok 2: Použite funkciu Dir na získanie názvu súboru
FName = Dir(FPath)
'Krok 3: Ak súbor existuje, vráťte True; inak Nepravda
If FName <> " Then FileExists = True _
Inak: FileExists = False
End Function
Krok 1 deklaruje premennú String, ktorá obsahuje názov súboru, ktorý sa vracia z funkcie Dir. FName je názov premennej String.
V kroku 2 sa pokúsite nastaviť premennú FName. Urobíte to tak, že premennú FPath prenesiete do funkcie Dir. Táto premenná FPath sa odovzdáva cez deklarácie funkcií (pozri prvý riadok kódu). Táto štruktúra zabraňuje tomu, aby ste museli pevne zakódovať cestu k súboru a namiesto toho ju odovzdať ako premennú.
Ak premennú FName nemožno nastaviť, cesta, ktorú ste odovzdali, neexistuje. Premenná FName je teda prázdna. Krok 3 iba prevedie výsledok na pravdivý alebo nepravdivý výraz.
Túto funkciu možno opäť použiť na vyhodnotenie akejkoľvek cesty k súboru, ktorú do nej odošlete. Toto je krása písania makra ako funkcie.
Nasledujúce makro ukazuje, ako používať túto funkciu:
Pod makro1()
If FileExists("C:TempMyNewBook.xlsx") = True Then
MsgBox "Súbor existuje."
Inak
MsgBox "Súbor neexistuje."
Koniec Ak
End Sub
Ako používať makro
Ak chcete implementovať toto makro, môžete skopírovať a prilepiť obe časti kódu do štandardného modulu:
Aktivujte Editor jazyka Visual Basic stlačením Alt+F11.
Kliknite pravým tlačidlom myši na názov projektu/zošita v okne projektu.
Vyberte Vložiť → Modul.
Zadajte alebo prilepte kód do novovytvoreného modulu.