Tämän Excel-makron avulla voit välittää tiedostopolun arvioidaksesi, onko tiedosto siellä. Sinulla voi esimerkiksi olla prosessi, joka käsittelee tiedostoa jossain tietokoneessasi. Saatat esimerkiksi joutua avaamaan olemassa olevan työkirjan, jotta voit lisätä siihen tietoja päivittäin. Tässä tapauksessa saatat joutua testaamaan, onko muokattava tiedosto olemassa.
Kuinka makro toimii
Ensimmäinen asia, joka tulee huomata tässä makrossa, on, että se on funktio, ei alitoiminto. Tämän makron tekeminen funktioksi mahdollistaa minkä tahansa tiedostopolun välittämisen siihen.
Tässä makrossa käytät Dir-funktiota, joka palauttaa merkkijonon, joka edustaa tiedoston nimeä, joka vastaa sitä, mitä sille välität. Tätä toimintoa voidaan käyttää monella tapaa, mutta tässä voit tarkistaa, onko sille siirtämäsi tiedostopolku olemassa:
Funktio FileExists(FPath As String) Boolen muodossa
'Vaihe 1: Ilmoita muuttujasi
Himmeä FName merkkijonona
'Vaihe 2: Käytä Dir-toimintoa saadaksesi tiedostonimen
FName = Dir(FPath)
'Vaihe 3: Jos tiedosto on olemassa, palauta True; muuten Väärä
Jos FName <> " Tiedosto on olemassa = tosi _
Muutoin: FileExists = False
Lopeta toiminto
Vaihe 1 ilmoittaa merkkijonomuuttujan, joka sisältää Dir-funktiosta palautetun tiedostonimen. FName on merkkijonomuuttujan nimi.
Vaiheessa 2 yrität asettaa FName-muuttujan. Voit tehdä tämän välittämällä FPath-muuttujan Dir-funktiolle. Tämä FPath-muuttuja välitetään funktiomäärittelyjen kautta (katso koodin ensimmäinen rivi). Tämä rakenne estää sinua joutumasta koodaamaan tiedostopolkua ja välittämään sen muuttujana sen sijaan.
Jos FName-muuttujaa ei voi asettaa, valitsemaasi polkua ei ole olemassa. Näin ollen FName-muuttuja on tyhjä. Vaihe 3 vain kääntää tuloksen todeksi tai vääräksi lausekkeeksi.
Jälleen tätä toimintoa voidaan käyttää arvioimaan minkä tahansa sille siirtämäsi tiedostopolun. Tämä on makron funktiona kirjoittamisen kauneus.
Seuraava makro näyttää, kuinka tätä toimintoa käytetään:
Alamakro1()
Jos FileExists("C:TempMyNewBook.xlsx") = tosi silloin
MsgBox "Tiedosto on olemassa."
Muu
MsgBox "Tiedostoa ei ole olemassa."
Loppu Jos
Lopeta ala
Kuinka käyttää makroa
Voit ottaa tämän makron käyttöön kopioimalla ja liittämällä molemmat koodin osat vakiomoduuliin:
Aktivoi Visual Basic Editor painamalla Alt+F11.
Napsauta hiiren kakkospainikkeella projektin/työkirjan nimeä projektiikkunassa.
Valitse Lisää → Moduuli.
Kirjoita tai liitä koodi äskettäin luotuun moduuliin.