Excel VBA FreeFile
FreeFile on VBA: n toiminto, joka on käytettävissä vain VBA-funktiona, ei taulukkofunktiona. VBA FreeFile -toiminto palauttaa yksilöllisen kokonaisluvun tiedostoon, joka avataan ja säilyttää seuraavan käytettävissä olevan tiedostonumeron.
Avaamme yleensä tietokoneeltamme tiedostoja joko kirjoittamaan jotain tai vain luku -olosuhteisiin, kun taas viittaamalla niihin tiedostoihin, meidän on viitattava yksilöllisellä kokonaisluvulla. VBA FreeFile -toiminnon avulla voimme määrittää yksilöllisen kokonaisluvun, joka annetaan tiedoston avaamiselle tiedostojen lukemista, kirjoittamista ja avaamista varten VBA: n avulla.
![](https://cdn.know-base.net/6489526/vba_freefile_how_to_use_freefile_function_in_excel_vba_.png.webp)
Katsokaa nyt OPEN-lauseen syntaksia.
AUKI (tiedostopolun osoite) - (Avaa tila) -asetuksena (Tiedoston numero)
Tiedoston polun osoite: Meidän on mainittava tietokoneellamme oleva tiedoston osoite, jonka yritämme avata.
Tila avattavaksi: Tiedostoa avattaessa meidän on tiedettävä, millaista mallia aiomme käyttää. Voimme käyttää tässä kolmea tapaa: "Tulotila", "Tulostustila" ja "Liitä tila".
Syöttötila vain tiedoston lukemiseen.
Tulostustila pyyhkiä pois olemassa olevat tiedot ja lisätä uusia tietoja.
Liitä tila lisätäksesi uusia tietoja säilyttäen nykyiset tiedot.
Tiedostonumero: Tällä argumentilla voimme viitata avaamaamme tiedostoon, jossa FreeFile-funktiolla on tärkeä rooli ja joka palauttaa yksilöllisen kokonaisluvun.
Kuinka käyttää FreeFile-toimintoa Excel VBA: ssa?
Katso nyt alla oleva koodi.
Koodi:
Sub FreeFile_Example1 () Himmennä polku merkkijonona Himmennä FileNumber kuin kokonaisluku = "D: Article 2019 File 1.txt" FileNumber = FreeFile avoin polku tulostettavaksi FileNumber Path = "D: Article 2019 File 2.txt "FileNumber = FreeFile avoin polku tulostettavaksi tiedostona FileNumber End Sub
![](https://cdn.know-base.net/6489526/vba_freefile_how_to_use_freefile_function_in_excel_vba__2.png.webp)
Sallikaa minun purkaa yllä oleva koodi ymmärrettäväksi.
Ensinnäkin olen ilmoittanut kaksi muuttujaa.
Hämärä polku merkkijonona, Himmennä tiedostonumero kokonaislukuna
Sitten olen määrittänyt tiedostopolun ja sen nimen.
Polku = "D: Artikkelit 2019 Tiedosto 1.txt"
Sitten yhdelle muuttujalle olen määrittänyt FREEFILE-toiminnon.
FileNumber = FreeFile
Sitten olen käyttänyt Open-käskyä avaamaan tekstitiedoston yllä mainitun tiedoston polussa.
Avaa tulostuksen polku tiedostonumerona
Ok, nyt suoritan rivikohtaisesti painamalla F8-näppäintä ja näen muuttujan "FileNumber" arvon.
![](https://cdn.know-base.net/6489526/vba_freefile_how_to_use_freefile_function_in_excel_vba__3.png.webp)
Se näyttää tiedostonumeron 1. Siten ilmainen tiedosto -toiminto varaa tämän numeron automaattisesti avaustiedostolle. Tätä suoritettaessa muita tiedostoja ei avata.
Suoritan nyt VBA-koodin seuraavaa riviä ja näen, mikä on tiedoston numero, jos siirryn seuraavalle riville.
![](https://cdn.know-base.net/6489526/vba_freefile_how_to_use_freefile_function_in_excel_vba__4.png.webp)
Nyt siinä sanotaan 2. Joten FreeFile-funktio varaa yksilöllisen kokonaisluvun numeron 2 toiseen avaustiedostoon.
FreeFile-funktio palauttaa aina 1, jos suljet Excel-tiedoston.
Yksi asia, jota meidän on tarkasteltava, on VBA: n "FreeFile" -toiminto palauttaa aina yhden, jos suljet avoimen tiedoston ennen toisen Excel-tiedoston avaamista.
Katso esimerkiksi alla oleva koodi.
Koodi:
Sub FreeFile_Example2 () Himmennä polku merkkijonona Himmennä FileNumber kuin kokonaisluku = "D: Article 2019 File 1.txt" FileNumber = FreeFile avoin polku tulostettavaksi FileNumber-tiedostona Sulje FileNumber Path = "D: Article 2019 File 2 .txt "FileNumber = FreeFile avoin polku tulostettavaksi tiedostona FileNumber Sulje FileNumber End Sub
![](https://cdn.know-base.net/6489526/vba_freefile_how_to_use_freefile_function_in_excel_vba__5.png.webp)
Suoritan nyt koodirivin jälleen riviltä painamalla F8-näppäintä.
![](https://cdn.know-base.net/6489526/vba_freefile_how_to_use_freefile_function_in_excel_vba__6.png.webp)
Siinä lukee 1 kuten tavallista.
Nyt eden seuraavalle tasolle.
![](https://cdn.know-base.net/6489526/vba_freefile_how_to_use_freefile_function_in_excel_vba__7.png.webp)
Jopa toisella yrityksellä sanotaan 1.
Syynä tähän on, koska olemme käyttäneet Sulje tiedosto -käskyä, FreeFile tunnistaa äskettäin avatun tiedoston uudeksi ja palauttaa kokonaisluvun 1: ksi.