VBA Rašyti teksto failą - Parašykite „Excel“ duomenis į tekstinius failus naudodami VBA kodą

„Excel VBA“ rašykite teksto failą

VBA mes galime atidaryti, skaityti ar rašyti tekstinį failą. Rašyti teksto failą reiškia duomenis, kuriuos turime „Excel“ lape, ir mes norime, kad jie būtų teksto failas arba bloknotas. Yra du būdai, kuriuos reikia atlikti, vienas yra naudojant VBA failų sistemos objektų ypatybę „File System“, naudojant VBA „Open and write“ metodą.

Daugumoje korporacinių bendrovių, kai tik ataskaita yra baigta, jos siekia įkelti ataskaitą į duomenų bazę. Norėdami įkelti į duomenų bazę, jie naudoja „Text Files“ formatą, kad atnaujintų duomenų bazę. Paprastai duomenis nukopijuojame iš „Excel“ ir įklijuojame į tekstinį failą. Priežastis, kodėl mes pasikliaujame tekstiniais failais, nes juos lengva naudoti dėl jų lengvo ir paprastesnio būdo. Naudodami VBA kodavimą galime automatizuoti duomenų kopijavimo iš „Excel“ failo į tekstinį failą užduotį. Šiame straipsnyje mes parodysime, kaip kopijuoti arba rašyti duomenis iš „Excel“ failo į tekstinį failą naudojant VBA kodą.

Kaip rašyti duomenis į tekstinius failus naudojant VBA?

Duomenų rašymas iš „Excel“ į tekstą yra sudėtingas kodavimas ir reikalauja labai gerų VBA kodavimo žinių. Atlikite toliau nurodytus veiksmus, norėdami parašyti VBA kodą, kad nukopijuotumėte duomenis iš „Excel“ į teksto failą.

Prieš parodydamas kodo rašymo būdą, leiskite man paaiškinti, kaip atidaryti teksto failą naudojant atvirą sakinį.

Atviro teksto failo sintaksė

Atidaryti (failo kelias), skirtas (režimas), kaip (failo numeris)

Failo kelias: failo, kurį bandome atidaryti kompiuteryje, kelias.

Režimas: režimas yra valdymas, kurį mes galime turėti atidarydami tekstinius failus. Mes galime valdyti tris teksto failo tipus.

  • Įvesties režimas: Tai siūlo atidaryti teksto failą valdyti tik skaityti . Jei mes naudojame „Įvesties režimą“, mes negalime nieko padaryti su failu. Mes galime tiesiog perskaityti teksto failo turinį.
  • Išvesties režimas: naudodamiesi šia parinktimi, mes galime jame įrašyti turinį. Čia turime atsiminti, kad visi esami duomenys bus perrašyti. Taigi turime saugotis galimo senų duomenų praradimo.
  • Pridėti režimą: šis režimas yra visiškai priešingas išvesties režimui. Naudodami šį metodą, naujus duomenis iš tikrųjų galime užrašyti esamų failo duomenų pabaigoje.

Failo numeris: Tai suskaičiuos visų atidarytų tekstinių failų teksto failo numerį. Tai atpažins atidarytus failų skaičius sveikais skaičiais nuo 1 iki 511. Priskirti failo numerį yra keblu ir sukelti daug painiavos. Tam galime naudoti nemokamą failo funkciją.

Laisvas failas grąžina unikalų atidarytų failų numerį. Tokiu būdu galime priskirti unikalų failo numerį be jokių pasikartojančių reikšmių.

1 pavyzdys

Norėdami sukurti naują tekstinį failą, atlikite toliau nurodytus veiksmus, norėdami parašyti kodą.

Tarkime, kad jau turite savo kompiuterio saugykloje tekstinį failą pavadinimu „Hello.txt“, ir mes jums parodysime, kaip jame įrašyti duomenis.

1 veiksmas: paskelbkite kintamąjį

Paskelbkite, kad kintamasis failo kelią laikys eilute.

Kodas:

Sub TextFile_Example1 () Dim kelias kaip eilutė Pabaiga Sub
2 žingsnis: nustatykite failo numerį

Norėdami nustatyti, kurį failo numerį mes nurodome, paskelbkite dar vieną kintamąjį kaip sveikąjį skaičių.

Kodas:

Sub TextFile_Example1 () Dim kelias kaip eilutė Dim FileNumber kaip sveikoji pabaiga Sub
3 žingsnis: priskirkite failo kelią

Dabar kelyje kintamasis priskirkite failo kelią su failo pavadinimu.

Kodas:

Sub TextFile_Example1 () Dim kelias kaip eilutė Dim FileNumber kaip sveikojo kelio = "D: Excel Files VBA File Hello.txt" 'Pakeiskite kelią pagal savo reikalavimą Pabaiga Sub
4 žingsnis: priskirkite nemokamo failo funkciją

Dabar kintamajam „File Number“ priskirkite funkciją „Free File“, kad išsaugotumėte unikalius failų numerius.

Kodas:

Sub TextFile_Example1 () Dim kelias kaip eilutė Dim FileNumber kaip sveikojo kelio = "D: Excel Files VBA File Hello.txt" 'Pakeiskite kelią pagal savo reikalavimą FileNumber = FreeFile End Sub
5 žingsnis: Atidarykite teksto failą

Dabar turime atidaryti teksto failą, kad galėtume su juo dirbti. Kaip paaiškinau, teksto failui atidaryti turime naudoti sakinį OPEN.


6 žingsnis: naudokite spausdinimo / rašymo metodą

Kai failas bus atidarytas, turime į jį ką nors įrašyti. Norėdami rašyti teksto faile, turime naudoti „Rašyti“ arba „Spausdinti“ metodą.

Kodas:

Sub TextFile_Example1() Dim Path As String Dim FileNumber As Integer Path = "D:Excel FilesVBA FileHello.txt" 'Change the path as per your requirement FileNumber = FreeFile Open Path For Output As FileNumber Print #FileNumber, "Welcome" Print #FileNumber, "to" Print #FileNumber, "VBA" End Sub

First, we need to mention the file number (here we have assigned the file through the “filenumber” variable), then we need to add the content we want to add to a text file.

Step 7: Save and Close Text File

Once the content is written in a text file, we need to save and close the text file.

Code:

Sub TextFile_Example1() Dim Path As String Dim FileNumber As Integer Path = "D:Excel FilesVBA FileHello.txt" 'Change the path as per your requirement FileNumber = FreeFile Open Path For Output As FileNumber Print #FileNumber, "Welcome" Print #FileNumber, "to" Print #FileNumber, "VBA" Close FileNumber End Sub

Now, run the code this manually or through shortcut excel key F5. It will write the mentioned content in the mentioned text file.

Example #2

Now we will see how to write the data of excel sheet to a text file.

For this example, I have created simple data in excel like below.

Step 1: With the continuation of the old example, define two more variables as Integer to find the last row and last column.

Code:

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

Taigi, paleiskite kodą naudodami F5 klavišą arba rankiniu būdu. Tada ji nukopijuos žemiau esančius duomenis.

Įdomios straipsniai...