VBA FreeFile - Kuinka käyttää FreeFile-toimintoa Excel VBA: ssa?

Sisällysluettelo

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.

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

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.

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.

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

Suoritan nyt koodirivin jälleen riviltä painamalla F8-näppäintä.

Siinä lukee 1 kuten tavallista.

Nyt eden seuraavalle tasolle.

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.

Mielenkiintoisia artikkeleita...