Kontrollige, kas fail eksisteerib programmi Excel VBA abil

VBA kontrollifaili olemasolu aitab Excel VBA abil kontrollida, kas fail eksisteerib asukohas. Kui olete maininud faili tee arvutis, mis juhtub, kui keegi kustutab faili või muudab faili kausta asukohta, siis meie kood annab sellistel juhtudel tõrke. Selle probleemi lahendamiseks saame enne faili tegelikku avamist teha ühe asja, saame kontrollida, kas nimetatud fail on olemas või mitte.

Selles artiklis näitame teile, kuidas kontrollida, kas nimetatud fail on olemas või mitte.

Kuidas kontrollida, kas fail on olemas või mitte?

  • Kuidas excel VBA teab, kas fail on olemas või mitte ??
  • Vaikimisi ei saa !!!
  • Kuidas siis ??
  • Peame kasutama funktsiooni nimega Dir, et kontrollida, kas fail eksisteerib või mitte.

Mida DIR-funktsioon teeb?

Funktsioon VBA DIR tagastab määratud kausta teele failinime koos selle laiendiga. Kui kaustal pole ühtegi faili, tagastab see tühja stringi.

Niisiis saame seda funktsiooni kasutades testida, kas fail on olemas või mitte. Isegi ilma DIR-funktsioonita saame testida, kas fail on olemas või mitte. Näeme mõnda näidet allpool.

Kuidas VBA-faili kontrollida, kas fail eksisteerib Excelis?

Õpime kasutama VBA kontrollfaili olemasolu funktsiooni, koos mõne näitega Excelist.

Selle VBA kontrollifaili eksisteerib Exceli mall allalaadimiseks saate siit - VBA kontrollifaili eksisteerib Exceli mall

Näide nr 1 - VBA kontrollfail on olemas

Ok, kirjutame mõne koodi, et testida faili olemasolu või mitte. Koodi kirjutamiseks järgige järgmisi samme.

1. samm. Selleks minge VBA aknasse ja valige menüü Lisamine alt Moodul, nagu allpool näidatud.

2. samm: käivitage alamprotseduur.

Kood:

 Alamfail_näide () Lõpu alam 

3. samm: määratlege muutuja kui string.

Kood:

 Alamfail_näide () Tühjendage FilePath kui stringi lõpp-alam 

4. samm: Nüüd tahan testida faili nimega „Peatükk-11. InputBoxes.xlsm ”minu E-draivis”. Selle muutuja jaoks määran oma failitee.

Kood:

 Alamfail_näide () Dim FilePath nagu String FilePath = "D: \ Test File.xlsx" End Sub 

5. samm: määrake funktsiooni DIR rakendamiseks nüüd veel üks muutuja.

Kood:

 Alamfail_näide () Tühjendage FilePath kui string Mügistage FileExists kui String FilePath = "D: \ Test File.xlsx" End Sub 

6. samm. Nüüd avage teise muutuja jaoks DIR-funktsioon.

Kood:

 Alamfail_näide () Tühjendage FilePath kui string Tühi FileExists kui String FilePath = "D: \ Test File.xlsx" FileExists = Dir (End Sub 

7. samm: DIR-funktsioon nõuab failitee. Kuna oleme faili tee muutujale “FilePath” juba määranud, võime selle muutuja lihtsalt DIR-funktsioonile edastada.

Kood:

 Alamfail_näide () Tühjendage FilePath kui string Tühi FileExists kui String FilePath = "D: \ Test File.xlsx" FileExists = Dir (FilePath) End Sub 

8. samm: Nüüd annab funktsioon DIR tagasi ainult failinime kui peatüki 11. InputBoxes ”mainitud failiteelt. Näitame tulemust teadeteboksis.

Kood:

 Alamfail_näide () Tühjendage FilePath kui string Tühi FileExists kui String FilePath = "D: \ Test File.xlsx" FileExists = Dir (FilePath) MsgBox FileExits End Sub 

9. samm: tulemuse nägemiseks käivitage makro.

Kuna mainitud tees on olemas fail, filtreeris DIR funktsioon selle faili nime tohutult teelt.

10. samm: nüüd ma muudan failinime mõne muu asja jaoks, mida mainitud teel pole.

Kood:

 Alamfail_näide () Tühjendage FilePath kui string Tühi FileExists kui String FilePath = "D: \ File.xlsx" FileExists = Dir (FilePath) MsgBox (FileExists) End Sub 

11. samm: kui ma käitan koodi nüüd, tagastab see sõnumikasti tühja stringi.

DIR-funktsioon sobib kõige paremini IF-väitega kasutamiseks VBA-s. Eespool nägime ainult failinime koos selle laiendiga, kui see on olemas, või vastasel juhul nägime ainult tühja stringi.

Näide 2 - DIR tingimus IF-ga

1. samm. Kui aga kasutate IF-funktsiooni koos DIR-funktsiooniga, saame tulemusi muuta. Näite saamiseks vaadake allolevat koodi.

Kood:

 Alamfail_näide1 () Tühjenda FilePathi kui stringi Tühjenda FileExistid kui String FilePath = "C: \ Kasutajad \ cba_28 \ Desktop \ Alex \ Final Input.xlsm" FileExists = Dir (FilePath) Kui FileExists = "" Siis MsgBox "faili ei eksisteeri nimetatud tee "Else MsgBox" Fail eksisteerib nimetatud teel "End If End Sub 

2. samm: siin kontrollib IF tingimus, kas muutuja „FileExists” väärtus pole midagi („”) või mitte. Kui muutuja väärtus pole midagi (“”), tagastab see tulemuse kujul “Faili ei ole nimetatud teel” või vastasel juhul annab tulemuse kui “Fail mainitud teel on olemas”

Allpool on toodud sama ekraanipildi näide.

Funktsiooni DIR abil saame kontrollida, kas fail on olemas või mitte.

Soovitatavad artiklid

See on VBA kontrollifaili olemasolu juhend. Siin arutatakse, kuidas kasutada rakendust Excel VBA Check File Exists Function koos praktiliste näidete ja allalaaditava excelimalliga. Võite vaadata ka meie teisi soovitatud artikleid -

  1. Kopeerimise kleepimise funktsioon VBA-s
  2. Exceli funktsiooni alamstring
  3. VBA alamleht on levialast väljas
  4. Exceli ISNUMBER valem

Kategooria: