Excel VBA FreeFile

Kuinka usein olette Excel-käyttäjä, avaat tiedoston ja työskentelet samalla? Hyvin usein, eikö? On jälleen mahdollista automatisoida tiedoston avaamistehtävät Excelissä tehokkaalla työkalulla VBA, jonka avulla voit kirjoittaa makroja ja automatisoida lopulta kaikki tehtävät tiedoston avaamisesta annetusta sijainnista käyttämiseen, tallentamiseen ja sulkemiseen samalla polku. Puhuttaessa tiedostojen avaamis- ja sulkemisprosessien automatisoinnista VBA: n kautta, on erittäin tärkeää indeksoida tiedosto, jotta järjestelmä voi tunnistaa käytettävän tiedoston suoritushetkellä. Meillä on VBA: ssa saatavana FreeFile-niminen toiminto, joka palvelee tätä tarkoitusta.

Mikä on VBA FreeFile -toiminto?

VBA FreeFile on VBA-toimintoon luokiteltu toiminto, jonka avulla järjestelmä voi varata numeron seuraavalle tiedostolle, joka avataan VBA-tiedostulolähdössä, sujuvan koodauksen saamiseksi ja koodin tarpeettomien virheiden vähentämiseksi. Kun avaat tiedoston VBA File IO: n (Input / Output) kautta, tulee ehdottoman pakolliseksi antaa sille yksilöivä numero, koska sinulla voi olla useita tiedostoja sijainnissa, jota aiot käyttää lukemiseen, kirjoittamiseen ja tarkoituksen avaamiseen koodi. Kuinka järjestelmä tietää, minkä tiedoston kaikista haluat avata? VBA FreeFile -toiminto tunnistaa tiedostolle osoittaman yksilöivän numeron ja antaa sen käytettäväksi avaamiseen, lukemiseen tai kirjoittamiseen VBA: ssa.

FreeFile-toiminnon syntaksi on seuraava:

Tämä toiminto ottaa vain yhden argumentin RangeNumber, jonka vakioarvot ovat nolla (0) ja yksi (1). Jos määrität nollan, tiedostonumero osoitetaan numeroalueilla 1–255 vaiheittain jokaiselle avaamallesi tiedostolle. Jos määrität yhden, tiedostonumero osoitetaan välillä 256–511 vaiheittain jokaiselle avaamallesi tiedostolle. Jos RangeNumber-arvoa ei ole määritetty, nollaa pidetään oletuksena.

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

Alla on erilaisia ​​esimerkkejä FreeFile-toiminnon käyttämisestä Excel VBA: ssa.

Voit ladata tämän VBA FreeFile Excel -mallin täältä - VBA FreeFile Excel Template

VBA FreeFile - esimerkki # 1

Noudata alla olevia vaiheita käyttääksesi FreeFile-toimintoa Excel VBA: ssa.

Vaihe 1: Avaa uusi Visual Basic Editor (VBE) napsauttamalla Visual Basic -painiketta Excel-tiedostosi Kehittäjä- välilehdessä tai napsauttamalla samanaikaisesti Alt + F11- painiketta.

Vaihe 2: Aseta uusi moduuli VBE: hen. Napsauta Lisää- painiketta. Valitse Moduuli lisäysvaihtoehtojen luettelosta.

Vaihe 3: Määritä uusi aliproseduuri, joka voi pitää makroasi.

Koodi:

 Alaesimerkki_1 () Loppu alaosaan 

Vaihe 4: Määritä kaksi uutta muuttujaa, tiedosto_1 ja tiedosto_2 kokonaislukuna. Nämä kaksi muuttujaa pitävät numerot, jotka annamme jokaiselle tiedolle, jonka avaamme koko makrossa.

Koodi:

 Alaesimerkki_1 () himmennetty tiedosto_1 kokonaislukuna himmeä tiedosto_2 kokonaislukuna lopussa alaosa 

Vaihe 5: Käytä määritysoperaattoria määrittämään kokonaisluku arvo file_1 -muuttujalle VBA FreeFile -apuohjelman avulla.

Koodi:

 Alaesimerkki_1 () himmennetty tiedosto_1 kokonaislukuna himmeä tiedosto_2 kokonaislukutiedostona_1 = FreeFile End Sub 

Vaihe 6: Käytä nyt Open- käskyä, jota voidaan käyttää tiedoston avaamiseen VBA: ssa.

Koodi:

 Alaesimerkki_1 () himmennetty tiedosto_1 kokonaislukuna himmeä tiedosto_2 kokonaislukutiedostona_1 = FreeFile Avaa "D: \ Excel-sisällön kirjoittaminen \ TextFile_1.txt" tulostettavaksi tiedostona_1 Loppu alaosaan 

Tässä olemme määritellyt polun, jolla tiedosto sijaitsee. For-lause antaa sinulle vaihtoehtoja, kuten miten haluat avata tiedoston (esim. Tulosteena), ja As-käsky määrittelee tiedostonumeron, jonka olemme määritelleet FreeFile-käskyn avulla.

Vaihe 7: Noudata vaiheita 5 ja 6 määrittääksesi uuden numeron toiselle tiedostolle file_2- muuttujan kautta ja Avaa se.

Koodi:

 Alaesimerkki_1 () himmeä tiedosto_1 kokonaislukuna himmeä tiedosto_2 kokonaislukutiedostona_1 = FreeFile Open "D: \ Excel Content Writing \ TextFile_1.txt" Output as file_1 file_2 = FreeFile Open "D: \ Excel Content Writing \ TextFile_2.txt" Output Kuten tiedosto_2 Loppu alaosaan 

Vaihe 8: Nyt haluamme nähdä numerot, jotka todella osoitetaan molemmille tekstitiedostoille. Voit suorittaa jokaisen rivin yksi kerrallaan F8-näppäimen avulla. Tulos ei kuitenkaan ole näkyvissä sinulle. Ei Excel-tiedostossa eikä välittömässä ikkunassa. Lisää seuraava MsgBox- käsky, joka ponnahdusikkunaan merkitsee kunkin tiedoston numerot.

Koodi:

 Alaesimerkki_1 () himmeä tiedosto_1 kokonaislukuna himmeä tiedosto_2 kokonaislukutiedostona_1 = FreeFile Open "D: \ Excel Content Writing \ TextFile_1.txt" Output as file_1 file_2 = FreeFile Open "D: \ Excel Content Writing \ TextFile_2.txt" Output Koska file_2 MsgBox "Tiedoston_1 arvo on:" & tiedosto_1 & Chr (13) & "Tiedoston_2 arvo on:" ja tiedoston_2 loppu Sub 

Tällä koodirivillä viestiruudun ensimmäisellä rivillä on teksti “arvo tiedostolle_1 on:” ja FreeFile-toiminnolla määritetty numeerinen arvo. Chr (13) sallii seuraavan rivin ilmestymisen. Viestiruudun seuraavalla rivillä lukee ”Tiedoston_2 arvo on:” ja toiselle tiedostolle annettu numero.

Vaihe 9: Suorita tämä koodi napsauttamalla Suorita-painiketta tai painamalla F5-näppäintä.

Näin FreeFile-toiminnon avulla voit määrittää numeron tiedostolle, jonka haluat avata, lukea ja sulkea VBA: n kautta.

VBA FreeFile - esimerkki 2

Jos suljemme avaaman tiedoston joka kerta, uudessa avaamassamme tiedossa on aina sarjanumero 1 joka kerta, kun se aukaistaan. Noudata alla olevia vaiheita nähdäksesi se läpi.

Vaihe 1: Määritä uusi aliproseduuri, joka voi pitää makroasi.

Koodi:

 Alaesimerkki_2 () Loppu alaosaan 

Vaihe 2: Määritä kaksi muuttujaa tiedosto_1 ja tiedosto_2 kokonaislukuna vasta määritellyn alimenettelyn sisällä.

Koodi:

 Alaesimerkki_2 () himmennetty tiedosto_1 kokonaislukuna himmeä tiedosto_2 kokonaislukuna lopussa alaosa 

Vaihe 3: Määritä nyt tiedostolle numero FreeFile- tiedoston avulla ja avaa tiedosto valitsemalla sijainti, jossa meillä on.

Koodi:

 Alaesimerkki_2 () himmennetty tiedosto_1 kokonaislukuna himmeä tiedosto_2 kokonaislukutiedostona_1 = FreeFile Avaa "D: \ Excel-sisällön kirjoittaminen \ TextFile_1.txt" tulostettavaksi tiedostona_1 Loppu alaosaan 

Vaihe 4: Lisää MsgBox-käskyllä ​​viestiruutu ensimmäisten tiedostojen määrään.

Koodi:

 Alaesimerkki_2 () himmennetty tiedosto_1 kokonaislukuna himmeä tiedosto_2 kokonaislukutiedostona_1 = FreeFile Avaa "D: \ Excel-sisällön kirjoittaminen \ TextFile_1.txt" tulostettavaksi tiedostona_1 MsgBox "Tiedoston_1 arvo on:" & tiedosto_1 lopussa alaosa 

Vaihe 5: Sulje ensimmäinen lause, jonka avasit VBA : n avulla, Sulje- lauseella.

Koodi:

 Alaesimerkki_2 () himmennetty tiedosto_1 kokonaislukuna himmeä tiedosto_2 kokonaislukutiedostona_1 = FreeFile Avaa "D: \ Excel-sisällön kirjoittaminen \ TextFile_1.txt" tulostettavaksi tiedostona_1 MsgBox "Tiedoston_1 arvo on:" & tiedosto_1 sulje tiedosto_1 lopeta alaosa 

Vaihe 6: Noudata nyt samaa menettelyä kuin vaiheessa 5, vaihe 6, vaihe 7, mutta toisessa tiedostossa. Se sisältää arvon määrittämisen tiedosto_2-muuttujalle FreeFile-toiminnolla ja sen avaamisen Open-lausunnon avulla, MsgBox: n avulla näyttää toisen tiedoston tiedostonumeron ja lopulta toisen tiedoston sulkemisen.

Koodi:

 Alaesimerkki_2 () himmeä tiedosto_1 kokonaislukuna himmeä tiedosto_2 kokonaislukutiedostona_1 = FreeFile Avaa "D: \ Excel-sisällön kirjoittaminen \ TextFile_1.txt" tulostettavaksi tiedostona_1 MsgBox "Tiedoston_1 arvo on:" & tiedosto_1 sulje tiedosto_1 tiedosto_2 = FreeFile Open "D : \ Excel-sisällön kirjoittaminen \ TextFile_2.txt "Output As file_2 MsgBox" File_2 arvo on: "& file_2 Sulje tiedosto_2 End Sub 

Vaihe 7: Suorita tämä koodi napsauttamalla Suorita-painiketta tai F5.

Ensimmäinen viestiruutu edustaa tiedoston_1 arvoa, joka näyttää olevan 1. Toinen viestiruutu edustaa tiedoston_2 arvoa, joka näyttää myös olevan 1. Tämä muutos on olemassa, koska olemme käyttäneet sulkevaa käskyä tiedostojen sulkemiseen yksi kerrallaan. Joka tapauksessa uuden tiedoston käynnistämisen yhteydessä vanha tiedosto ja sen numero katoavat järjestelmämuistista, ja seuraavaa tiedostoa pidetään tuoreena tiedostona, jonka numerot alkavat yhdestä.

Muistettavat asiat

  • FreeFile palauttaa yksilöllisen kokonaisluvun jokaiselle tiedostolle, jonka avaamme, luemme ja suljemme VBA-tiedoston IO kautta.
  • FreeFilella on kaksi arvoa argumentille RangeNumber (joka on valinnainen). Nolla yleensä määrää luvun välillä 1–255 ja yksi antaa numerot välillä 256–511.

Suositellut artikkelit

Tämä on opas VBA FreeFileen. Tässä keskustellaan siitä, kuinka FreeFile-toiminnon avulla voit antaa numeron tiedostolle, jonka aiot avata, lukea, sulkea Excel VBA: n kautta, sekä käytännöllisiä esimerkkejä ja ladattavaa Excel-mallia. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. VBA-tarkistustiedosto on olemassa Excel-malli
  2. VBA-alaindeksi alueen ulkopuolella (esimerkit)
  3. GetObject-toiminto Excel VBA: ssa
  4. Kuinka käyttää numeromuotoa VBA: ssa?
  5. VBA Environ

Luokka: