VBA FreeFile | Kuidas kasutada funktsiooni FreeFile Exceli VBA-s?

Exceli VBA FreeFile

FreeFile on VBA funktsioon, mis on saadaval ainult VBA funktsioonina, mitte töölehe funktsioonina. Funktsioon VBA FreeFile tagastab avatud faili kordumatu täisarvu ja säilitab järgmise saadaoleva failinumbri numbri.

Tavaliselt avame failid oma arvutist kas millegi kirjutamiseks või kirjutuskaitstuks, viidates neile failidele aga kordumatu täisarvuga. Funktsioon VBA FreeFile võimaldab meil määrata selle unikaalse täisarvu, mis määratakse faili avamiseks failide lugemiseks, kirjutamiseks ja avamiseks VBA abil.

Nüüd vaadake OPEN-lause süntaksit.

OPEN [faili tee aadress] [režiimi avamiseks] kui [faili number]

Faili tee aadress: peame mainima oma arvutis failiaadressi, mida proovime avada.

Ava režiim: faili avades peame teadma, millist mudelit me rakendame. Saame siin kasutada kolme režiimi: “Sisendrežiim”, “Väljundrežiim” ja “Lisa režiim”.

Sisendrežiim ainult faili lugemiseks.

Väljundrežiim olemasolevate andmete kustutamiseks ja uute andmete sisestamiseks.

Lisa režiim uute andmete lisamiseks, säilitades olemasolevad andmed.

Failinumber: Selle argumendiga saame viidata avatavale failile. See, kus funktsioon „FreeFile” mängib olulist rolli ja tagastab kordumatu täisarvu.

Kuidas kasutada funktsiooni FreeFile Exceli VBA-s?

Selle VBA FreeFile Exceli malli saate alla laadida siit - VBA FreeFile Exceli mall

Nüüd vaadake allolevat koodi.

Kood:

 Sub FreeFile_Example1 () Hämardage tee stringina Dim FileNumber as Integer Path = "D: \ Article \ 2019 \ File 1.txt" FileNumber = FreeFile Open Path for Output as FileNumber Path = "D: \ Articles \ 2019 \ File 2.txt "FileNumber = FreeFile'i avatud tee väljundiks failinumbri lõpu alamana 

Lubage mul nüüd ülaltoodud kood dekodeerida, et saaksite sellest aru.

Esiteks olen deklareerinud kaks muutujat.

 Hämar tee stringina, tuhm failinumber täisarvuna 

Siis olen määranud faili tee selle nimega.

Tee = "D: \ artiklid \ 2019 \ fail 1.txt"

Siis olen veel ühe muutuja jaoks määranud funktsiooni FREEFILE.

FileNumber = FreeFile

Siis olen ülaltoodud failiteel tekstifaili avamiseks kasutanud käsku Open.

 Avage väljundi tee failinumbrina

Ok, nüüd käivitan rea rea ​​kaupa, vajutades klahvi F8 ja näen muutuja “FileNumber” väärtust.

See näitab failinumbrit kui 1. Niisiis, vaba faili funktsioon reserveerib selle numbri automaatselt avafailile. Selle käivitamise ajal ei avata ühtegi teist faili.

Nüüd jätkan VBA-koodi järgmise rea täitmist ja vaatan, mis on failinumber, kui hüppan järgmisele reale.

Nüüd on kirjas 2. Nii et funktsioon FreeFile reserveerib unikaalse täisarvu numbri 2 teisele avafailile.

Funktsioon FreeFile tagastab alati Exceli faili sulgemisel 1

Üks asi, mida peame vaatama, on VBA funktsioon „FreeFile” tagastab alati 1, kui sulgeme avatud faili enne teise Exceli faili avamist.

Näiteks vaadake allolevat koodi.

Kood:

 Sub FreeFile_Example2 () Dim tee stringina Dim FileNumber as Integer Path = "D: \ Article \ 2019 \ File 1.txt" FileNumber = FreeFile Open Path for Output as FileNumber Close FileNumber Path = "D: \ Articles \ 2019 \ File 2 .txt "FileNumber = FreeFile'i avatud tee väljundiks failinumbrina FileNumber Sule failinumbri lõpu alam 

Nüüd täidan koodirea veel kord rea kaupa, vajutades klahvi F8.

Seal on kirjas 1 nagu tavaliselt.

Nüüd lähen edasi järgmisele tasemele.

Isegi teisel katsel ütleb see 1.

Selle põhjuseks on asjaolu, et oleme kasutanud käsku Sule faili. FreeFile tunnistab äsja avatud faili värskena ja tagastab täisarvuks 1.


$config[zx-auto] not found$config[zx-overlay] not found