VBA kirjuta tekstifail | Kirjutage Exceli andmed tekstifailidesse, kasutades VBA-koodi

Exceli VBA tekstifaili kirjutamine

VBA-s saame tekstifaili avada, lugeda või kirjutada, tekstifaili kirjutamine tähendab Exceli lehel olevaid andmeid ja me tahame, et need sisalduksid tekstifailis või märkmiku failis. Selleks on kaks meetodit, üks on VBA ja muu atribuudi File System objekti failisüsteem kasutamine on VBA-s Ava ja kirjuta-meetodi kasutamine.

Enamikus ettevõtteettevõtetest ootavad nad pärast aruande valmimist aruande andmebaasi üles laadimist. Andmebaasi üleslaadimiseks kasutavad nad andmebaasi värskendamiseks vormingut "Tekstifailid". Tavaliselt kopeerime andmed Excelist ja kleepime tekstifaili. Põhjus, miks me tugineme tekstifailidele, kuna neid on kerge ja lihtsa viisi tõttu väga lihtne kasutada. VBA-kodeerimise abil saame automatiseerida andmete kopeerimise Exceli failist tekstifaili. Selles artiklis näitame teile, kuidas kopeerida või kirjutada andmeid Exceli failist tekstifaili, kasutades VBA-koodi.

Kuidas kirjutada andmeid tekstifailidesse VBA abil?

Andmete kirjutamine excelist tekstini on keeruline kodeerimine ja nõuab väga häid teadmisi VBA kodeerimisest. Andmete kopeerimiseks Excelist tekstifaili järgige VBA-koodi kirjutamiseks järgmisi samme.

Enne kui näitan teile koodi kirjutamise viisi, lubage mul selgitada, kuidas avada tekstifail avatud avalduse abil.

Avatud tekstifaili süntaks

Avage [Faili tee], [Režiim], nimega [Failinumber]

Faili tee: faili tee, mida proovime arvutis avada.

Režiim: režiim on tekstifailide avamise kontroll. Meil on tekstifaili üle kolme tüüpi kontroll.

  • Sisestusrežiim: see soovitab avatava tekstifaili kontrolli ainult lugemiseks . Kui kasutame sisestusrežiimi, ei saa me failiga midagi peale hakata. Saame lihtsalt lugeda tekstifaili sisu.
  • Väljundrežiim: selle suvandi abil saame selle sisu kirjutada. Siinkohal peame meeles pidama, et kõik olemasolevad andmed kirjutatakse üle. Seega peame olema ettevaatlikud vanade andmete võimaliku kadumise suhtes.
  • Lisa režiim: see režiim on täiesti vastupidine väljundrežiimile. Selle meetodi abil saame tegelikult uued andmed failis olemasolevate andmete lõppu kirjutada.

Failinumber: see loendab kõigi avatud tekstifailide tekstifailide numbri. See tunneb avatud failinumbrid täisarvudes vahemikus 1–511. Failinumbri määramine on keeruline ja tekitab palju segadust. Selleks saame kasutada tasuta funktsiooni File.

Vaba fail tagastab avatud failide kordumatu numbri. Nii saame määrata kordumatu failinumbri ilma igasuguste duplikaatväärtusteta.

Selle VBA kirjutamise tekstifaili malli saate alla laadida siit - VBA kirjutamise tekstifaili mall

Näide 1

Uue tekstifaili loomiseks koodi kirjutamiseks toimige järgmiselt.

Oletame, et teie arvutimälus on juba olnud tekstifail nimega “Hello.txt” ja me näitame teile, kuidas sinna andmeid kirjutada.

1. samm: deklareerige muutuja

Deklareerige muutuja, et see hoiaks faili teed stringina.

Kood:

 AlamtekstiFail_Example1 () Dim tee kui stringi lõpp alam 

2. samm: määrake failinumber

Selle kindlaksmääramiseks, millisele failinumbrile viitame, tuleb deklareerida veel üks muutuja täisarvuna.

Kood:

 Sub TextFile_Example1 () Hämardage tee stringina Hämardage failinumber täisarvu lõpuna Alam 

3. samm: määrake failitee

Nüüd määrake muutuja Path abil faili nimi failinimega.

Kood:

 Sub TextFile_Example1 () Hämardamise tee stringina Dim FileNumber as Integer Path = "D: \ Excel Files \ VBA File \ Hello.txt" 'Muutke oma nõuete kohast teed End Sub 

4. samm: määrake vaba failifunktsioon

Nüüd määrake muutuja File Number jaoks kordumatu failinumbri salvestamiseks funktsioon „Free File”.

Kood:

 Sub TextFile_Example1 () Hämardage tee stringina Dim FileNumber as Integer Path = "D: \ Excel Files \ VBA File \ Hello.txt" 'Muutke oma nõuete kohast teed FileNumber = FreeFile End Sub 

5. samm: avage tekstifail

Nüüd peame sellega töötamiseks tekstifaili avama. Nagu ma selgitasin, peame tekstifaili avamiseks kasutama lauset OPEN.

6. samm: kasutage printimis- / kirjutamismeetodit

Kui fail on avatud, peame sinna midagi kirjutama. Tekstifaili kirjutamiseks peame kasutama kas kirjutamis- või printimismeetodit.

Kood:

 Sub TextFile_Example1 () Hämardav tee stringina Dim FileNumber as Integer Path = "D: \ Excel Files \ VBA File \ Hello.txt" 'Muutke oma nõuete kohast teed FileNumber = FreeFile avatud tee väljundiks failinumbrina Print #FileNumber, " Tere tulemast "Print #FileNumber" jaotisse "Print #FileNumber," VBA "End Sub 

Esiteks peame mainima failinumbrit (siin määrasime faili muutuja „FileNumber” kaudu), seejärel peame lisama sisu, mida soovime lisada tekstifaili.

7. samm: salvestage ja sulgege tekstifail

Kui sisu on tekstifaili kirjutatud, peame tekstifaili salvestama ja sulgema.

Kood:

 Sub TextFile_Example1 () Hämardav tee stringina Dim FileNumber as Integer Path = "D: \ Excel Files \ VBA File \ Hello.txt" 'Muutke oma nõuete kohast teed FileNumber = FreeFile avatud tee väljundiks failinumbrina Print #FileNumber, " Tere tulemast "Print #FileNumber" lehele "Print #FileNumber," VBA "Sule FileNumber End Sub 

Nüüd käivitage kood käsitsi või kiirklahvi Excel abil F5, see kirjutab mainitud sisu mainitud tekstifaili.

Näide 2

Nüüd näeme, kuidas Exceli lehe andmed tekstifaili kirjutada.

Selle näite jaoks olen loonud Excelis lihtsad andmed nagu allpool.

1. samm: määrake koos vana näite jätkumisega veel kaks muutujat täisarvuna, et leida viimane rida ja viimane veerg.

Kood:

 Sub TextFile_Example2 () Hämardamise tee stringina Hämarda failinumber täisarvuna Dim LR täisarvuna Dim LC täisarvu lõpuna 

2. samm: leidke töölehelt viimati kasutatud rida ja veerg.

3. samm: määrake nüüd faili tee ja failinumber.

4. samm: kasutage nüüd tekstifaili avamiseks lauset OPEN.

5. samm: peame ridade ja veergude vahel ringi liikuma, seega deklareerige veel kaks muutujat täisarvuna.

6. samm: avage nüüd silmus rea läbimiseks (järgmise silmusena VBA-s)

7. samm: avage veergude kaudu silmus olemasoleva silmuse sees veel üks silmus.

8. samm: peame kirjutama sama andmerea, kuni see jõuab viimase veeruni. Nii et selle jaoks kohaldatakse IF-i lauset VBA-s.

9. samm: nüüd salvestage ja sulgege tekstifail.

See kood kirjutab üksikasjad tekstifaili, kuid tekstifaili avamiseks pärast kirjutamist peame kasutama allolevat koodi.

Kood:

 Sub TextFile_Example2 () Hämardamise tee stringina Dim FileNumber nagu täisarv Dim LR täisarvuna Dim LC täisarvuna Dim k täisarvuna Dim i täisarvuna LR = töölehed ("Tekst"). Lahtrid (Read. Count, 1) .End (xlUp) .Rida LC = Töölehed ("Tekst"). Lahtrid (1, Columns.Count) .End (xlToLeft) .Veeru tee = "D: \ Excel Files \ VBA File \ Hello.txt" FileNumber = FreeFile'i avatud tee väljundiks FileNumber jaoks k = 1 kuni LR jaoks i = 1 LC jaoks .exe "& tee, vbNormalFocus End Sub 

Niisiis, käivitage kood klahviga F5 või käsitsi, siis kopeerib see andmed nagu allpool.


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