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

Lang L: none (table-of-contents)

Exceli VBA tekstifaili kirjutamine

VBA-s saame avada või lugeda või kirjutada tekstifaili, tekstifaili kirjutamine tähendab andmeid, mis meil on Exceli lehel ja me tahame, et see oleks tekstifail või märkmiku fail, teha on kaks meetodit, üks on VBA ja muu atribuudi File System objekti failisüsteem kasutamine on VBA-s Open and write meetod.

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 loodame tekstifailidele, kuna neid on kerge ja lihtsa viisi tõttu väga lihtne kasutada. Kasutades VBA kodeerimist, saame automatiseerida andmete kopeerimise Exceli failist tekstifaili. Selles artiklis me 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

Ava (faili tee), jaoks (režiim), nimega (faili number)

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 sinna 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 tekstifailinumbrit. 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 omistada kordumatu failinumbri ilma igasuguste duplikaatväärtusteta.

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, mis hoiab failiriba stringina.

Kood:

Sub TextFile_Example1 () Dim Path As String End Sub
2. samm: määrake failinumber

Selle failinumbri määramiseks, deklareerige 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 muutuja Path jaoks määrake faili tee failinimega.

Kood:

Sub TextFile_Example1 () Hämardage tee stringina Dim FileNumber as Integer Path = "D: Excel Files VBA File Hello.txt" 'Muutke teed vastavalt oma nõudele Lõpp alam
4. samm: määrake vaba failifunktsioon

Nüüd muutuja Failinumber jaoks määrake unikaalsete failinumbrite 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 teed vastavalt oma nõudele 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ätkamisega veel kaks muutujat täisarvuna, et leida viimane rida ja viimane veerg.

Kood:

Sub TextFile_Example2() Dim Path As String Dim FileNumber As Integer Dim LR As Integer Dim LC As Integer End Sub

Step 2: Find the last used row and column in the worksheet.

Step 3: Now assign the file path and file number.

Step 4: Now, use the OPEN statement to open the text file.

Step 5: We need to loop through rows and columns, so declare two more variables as Integer.

Step 6: Now open Loop to loop through the row (For next loop in VBA)

Step 7: Now, to loop through columns, open one more loop inside the existing loop.

Step 8: We need to write the same line of data until it reaches the last column. So for this, apply the IF statement in VBA.

Step 9: Now, save and close the text file.

This code will write the details to a text file, but to open the text file after written, we need to use the below code.

Code:

Sub TextFile_Example2() Dim Path As String Dim FileNumber As Integer Dim LR As Integer Dim LC As Integer Dim k As Integer Dim i As Integer LR = Worksheets("Text").Cells(Rows.Count, 1).End(xlUp).Row LC = Worksheets("Text").Cells(1, Columns.Count).End(xlToLeft).Column Path = "D:Excel FilesVBA FileHello.txt" FileNumber = FreeFile Open Path For Output As FileNumber For k = 1 To LR For i = 1 To LC If i LC Then Print #FileNumber, Cells(i, k), Else Print #FileNumber, Cells(i, k) End If Next i Next k Close FileNumber Shell "notepad.exe " & Path, vbNormalFocus End Sub

Niisiis, käivitage kood klahvi F5 abil või käsitsi. Seejärel kopeerib see allpool olevad andmed.

Huvitavad Artiklid...