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

Lang L: none (table-of-contents)

Exceli VBA FreeFile

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

Tavaliselt avame failid arvutist kas millegi kirjutamiseks või kirjutuskaitstuks, samas kui nendele failidele viidates peame viitama 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 heitke pilk OPEN-lause süntaksile.

Ava (faili tee aadress) jaoks (režiim avamiseks) kui (faili number)

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

Ava režiim: faili avamise ajal peame teadma, millist mudelit me rakendame. Saame siin kasutada kolme viisi: "Sisendrežiim", "Väljundirež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, kus funktsioon „FreeFile” mängib olulist rolli ja tagastab kordumatu täisarvu.

Kuidas kasutada funktsiooni FreeFile Exceli VBA-s?

Nüüd vaadake allolevat koodi.

Kood:

Sub FreeFile_Example1 () Hämardab 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 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 avanud avalduse, et avada tekstifail eespool nimetatud failis.

Avage väljundi tee failinumbrina

Ok, nüüd jooksen rea kaupa koodi, 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 muid faile ei avata.

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 1, kui sulgeme Exceli faili.

Üks asi, mida peame vaatama, on VBA funktsioon "FreeFile" tagastab alati ühe, kui sulgeme avatud faili enne teise Exceli faili avamist.

Näiteks vaadake allolevat koodi.

Kood:

Sub FreeFile_Example2 () hämardav 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 see, et oleme kasutanud käsku Sule fail, tunnistab FreeFile äsja avatud faili värskena ja tagastab täisarvuks 1.

Huvitavad Artiklid...