VBA Rakstīt teksta failu - Rakstiet Excel datus teksta failos, izmantojot VBA kodu

Excel VBA Rakstīt teksta failu

VBA mēs varam atvērt, lasīt vai rakstīt teksta failu, lai rakstītu teksta failu, mēs domājam datus, kas ir Excel lapā, un mēs vēlamies, lai tie būtu teksta failā vai piezīmju bloka failā, ir divas metodes, viena no tām ir izmantojot VBA un citu objekta rekvizītu Failu sistēma, izmantojot VBA atvēršanas un rakstīšanas metodi.

Pēc pārskata pabeigšanas lielākajā daļā korporatīvo uzņēmumu viņi vēlas augšupielādēt ziņojumu datu bāzē. Lai augšupielādētu datu bāzē, datu bāzes atjaunināšanai viņi izmanto formātu “Teksta faili”. Mēs parasti kopējam datus no Excel un ielīmējam teksta failā. Iemesls, kāpēc mēs paļaujamies uz teksta failiem, jo ​​ar tiem ir ļoti viegli strādāt to vieglo un vienkāršāko veidu dēļ. Izmantojot VBA kodēšanu, mēs varam automatizēt uzdevumu kopēt datus no Excel faila uz teksta failu. Šajā rakstā mēs parādīsim, kā kopēt vai rakstīt datus no Excel faila uz teksta failu, izmantojot VBA kodu.

Kā rakstīt datus teksta failos, izmantojot VBA?

Datu rakstīšana no Excel uz tekstu ir sarežģīta kodēšana un prasa ļoti labas zināšanas par VBA kodēšanu. Veiciet tālāk norādītās darbības, lai ierakstītu VBA kodu, lai datus kopētu no Excel uz teksta failu.

Pirms parādīšu koda rakstīšanas veidu, ļaujiet man paskaidrot, kā atvērt teksta failu, izmantojot atvērtu paziņojumu.

Atvērtā teksta faila sintakse

Atvērt (faila ceļš), (režīmam), kā (faila numuram)

Faila ceļš: faila ceļš, kuru mēģinām atvērt datorā.

Režīms: režīms var kontrolēt teksta failu atvēršanu. Mums var būt trīs veidu kontrole pār teksta failu.

  • Ievades režīms: tas iesaka atvērtā faila kontroli tikai lasīšanai . Ja mēs izmantojam “Ievades režīmu”, mēs nevaram neko darīt ar failu. Mēs varam vienkārši izlasīt teksta faila saturu.
  • Izejas režīms: izmantojot šo opciju, mēs varam tajā ierakstīt saturu. Šeit mums jāatceras, ka visi esošie dati tiks pārrakstīti. Tātad, mums ir jāuzmanās no veco datu iespējamā zaudēšanas.
  • Pievienot režīmu: Šis režīms ir pilnīgi pretējs OutPut režīmam. Izmantojot šo metodi, mēs faktiski varam ierakstīt jaunos datus failā esošo datu beigās.

Faila numurs: Tas saskaitīs visu atvērto teksta failu teksta faila numuru. Tas atvērto failu numurus atpazīs veselu skaitļu vērtībās no 1 līdz 511. Faila numura piešķiršana ir grūts un rada daudz neskaidrību. Šim nolūkam mēs varam izmantot bezmaksas funkciju File.

Bezmaksas fails atgriež atvērto failu unikālo numuru. Tādā veidā mēs varam piešķirt unikālu faila numuru bez jebkāda veida dublētām vērtībām.

1. piemērs

Lai izveidotu jaunu teksta failu, veiciet tālāk norādītās darbības.

Pieņemsim, ka jūsu datora krātuvē jau ir bijis teksta fails ar nosaukumu “Hello.txt”, un mēs parādīsim, kā tajā ierakstīt datus.

1. darbība: paziņojiet mainīgo

Paziņojiet mainīgajam, kas faila ceļu tur kā virkni.

Kods:

Sub TextFile_Example1 () Dim Ceļš kā virknes beigas Sub
2. darbība: nosakiet faila numuru

Lai noteiktu faila numuru, uz kuru mēs atsaucamies, deklarējiet vēl vienu mainīgo kā veselu skaitli.

Kods:

Sub TextFile_Example1 () Dim Ceļš kā virkne Dim FileNumber kā Integer End Sub
3. darbība: piešķiriet faila ceļu

Tagad attiecībā uz mainīgo Path piešķiriet faila ceļu ar faila nosaukumu.

Kods:

Sub TextFile_Example1 () Dim Ceļš kā virkne Dim FileNumber As Integer Ceļš = "D: Excel Files VBA File Hello.txt" 'Mainiet ceļu atbilstoši savām prasībām End Sub
4. darbība. Piešķiriet bezmaksas faila funkciju

Tagad mainīgajam faila numuram piešķiriet funkciju “Bezmaksas fails”, lai saglabātu unikālus failu numurus.

Kods:

Sub TextFile_Example1 () Dim Ceļš kā virkne Dim FileNumber As Integer Path = "D: Excel Files VBA File Hello.txt" 'Mainiet ceļu atbilstoši savām prasībām FileNumber = FreeFile End Sub
5. darbība: atveriet teksta failu

Tagad mums jāatver teksta fails, lai ar to darbotos. Kā es paskaidroju, teksta faila atvēršanai mums jāizmanto paziņojums OPEN.


6. darbība: izmantojiet drukas / rakstīšanas metodi

Kad fails ir atvērts, mums tajā kaut kas jāieraksta. Lai ierakstītu teksta failā, mums jāizmanto metode “Rakstīt” vai “Drukāt”.

Kods:

Sub TextFile_Example1 () Dim Ceļš kā virkne Dim FileNumber As Integer Path = "D: Excel Files VBA File Hello.txt" 'Mainiet ceļu atbilstoši savām prasībām FileNumber = FreeFile atvērtais ceļš izvadei kā FileNumber Print #FileNumber, " Laipni lūdzam sadaļā "Drukāt # faila numuru" uz sadaļu "Drukāt # faila numuru", "VBA" beigu apakšdaļu

Pirmkārt, mums jāpiemin faila numurs (šeit mēs esam piešķīruši failu, izmantojot mainīgo “filenumber”), pēc tam mums jāpievieno saturs, kuru mēs vēlamies pievienot teksta failam.

7. darbība: Saglabājiet un aizveriet teksta failu

Kad saturs ir ierakstīts teksta failā, mums tas jāsaglabā un jāaizver.

Kods:

Sub TextFile_Example1 () Dim Ceļš kā virkne Dim FileNumber As Integer Path = "D: Excel Files VBA File Hello.txt" 'Mainiet ceļu atbilstoši savām prasībām FileNumber = FreeFile atvērtais izejas ceļš kā FileNumber Print #FileNumber, " Laipni lūdzam sadaļā "Print #FileNumber" uz "Print #FileNumber," VBA ". Aizvērt FileNumber End Sub

Tagad palaidiet šo kodu manuāli vai izmantojot īsinājumtaustiņu Excel taustiņu F5. Tas ierakstīs minēto saturu minētajā teksta failā.

2. piemērs

Tagad mēs redzēsim, kā Excel lapas datus ierakstīt teksta failā.

Šajā piemērā es esmu izveidojis vienkāršus datus programmā Excel, piemēram, zemāk.

1. darbība: turpinot veco piemēru, definējiet vēl divus mainīgos kā veselu skaitli, lai atrastu pēdējo rindu un pēdējo kolonnu.

Kods:

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

Tātad, palaidiet kodu, izmantojot F5 taustiņu vai manuāli. Pēc tam tā kopēs zemāk esošos datus.

Interesanti raksti...