VBA Pisanje besedilne datoteke | Podatke Excel zapišite v besedilne datoteke s pomočjo kode VBA

Excel VBA Pisanje besedilne datoteke

V VBA lahko odpremo ali preberemo ali napišemo besedilno datoteko, pisanje besedilne datoteke pomeni podatke, ki jih imamo v Excelovem listu in jih želimo v besedilno datoteko ali datoteko beležnice, obstajata dva načina, eden je z z uporabo lastnosti datotečnega sistema objekta VBA, druga pa z uporabo metode Open and write v VBA.

Po zaključku poročila v večini korporativnih podjetij poročilo naložijo v bazo podatkov. Za nalaganje v zbirko podatkov uporabljajo bazo besedilnih datotek za posodobitev baze podatkov. Podatke iz Excela običajno kopiramo in prilepimo v besedilno datoteko. Razlog, zakaj se zanašamo na besedilne datoteke, ker je z njimi zelo enostavno delati, saj so lahki in preprostejši. Z uporabo kodiranja VBA lahko avtomatiziramo nalogo kopiranja podatkov iz datoteke excel v besedilno datoteko. V tem članku vam bomo pokazali, kako kopirate ali zapisujete podatke iz datoteke excel v besedilno datoteko s pomočjo kode VBA.

Kako zapisati podatke v besedilne datoteke z uporabo VBA?

Zapisovanje podatkov iz Excela v besedilo je zapleteno kodiranje in zahteva zelo dobro poznavanje kodiranja VBA. Sledite spodnjim korakom za pisanje kode VBA za kopiranje podatkov iz excela v besedilno datoteko.

Preden vam pokažem način pisanja kode, naj vam razložim, kako odpreti besedilno datoteko z uporabo odprte izjave.

Sintaksa odprte besedilne datoteke

Odprite [pot datoteke], za [način], kot [številka datoteke]

Pot do datoteke: pot do datoteke, ki jo poskušamo odpreti v računalniku.

Način: Način je nadzor nad odpiranjem besedilnih datotek. Nad besedilno datoteko imamo lahko tri vrste nadzora.

  • Način vnosa: To predlaga nadzor samo za branje uvodne besedilne datoteke. Če uporabimo »način vnosa«, z datoteko ne moremo storiti ničesar. Vsebino besedilne datoteke lahko samo preberemo.
  • Izhodni način: S to možnostjo lahko nanjo zapišemo vsebino. Bistvo, ki si ga moramo tukaj zapomniti, je, da bodo vsi obstoječi podatki prepisani. Torej moramo biti pozorni na morebitno izgubo starih podatkov.
  • Način dodajanja: ta način je popolnoma v nasprotju z načinom izhoda. S to metodo lahko dejansko zapišemo nove podatke na koncu obstoječih podatkov v datoteko.

Številka datoteke: šteje številko besedilne datoteke vseh odprtih besedilnih datotek. To bo prepoznalo številke odprtih datotek v celoštevilčnih vrednostih od 1 do 511. Dodelitev številke datoteke je težavna in povzroča veliko zmede. Za to lahko uporabimo brezplačno funkcijo File.

Free File vrne enolično številko odprtih datotek. Na ta način lahko dodelimo enolično številko datoteke brez kakršnih koli podvojenih vrednosti.

Predlogo za pisanje besedilne datoteke VBA lahko prenesete tukaj - Predloga za pisanje besedilne datoteke VBA

Primer # 1

Sledite spodnjim korakom za pisanje kode za ustvarjanje nove besedilne datoteke.

Predpostavimo, da ste v pomnilniku računalnika že imeli besedilno datoteko z imenom »Hello.txt«, mi pa vam bomo pokazali, kako v to zapisati podatke.

1. korak: razglasite spremenljivko

Razglasite spremenljivko, v kateri bo pot datoteke, kot String.

Koda:

 Sub TextFile_Example1 () Zatemni pot kot niz na koncu Sub 

2. korak: določite številko datoteke

Če želite določiti, na katero številko datoteke se sklicujemo, razglasimo še eno spremenljivko kot Integer.

Koda:

 Sub TextFile_Example1 () Dim pot kot niz Dim Dim FileNumber As Integer End Sub 

3. korak: dodeli pot datoteke

Zdaj spremenljivki Path dodelite pot do datoteke z imenom datoteke.

Koda:

 Sub TextFile_Example1 () Dim pot kot niz Dim DimNumber As Integer Path = "D: \ Excel Files \ VBA File \ Hello.txt" 'Spremenite pot po svoji zahtevi End Sub 

4. korak: dodelite funkcijo brezplačne datoteke

Zdaj spremenljivki Številka datoteke dodelite funkcijo »Brezplačna datoteka« za shranjevanje enolične številke datoteke.

Koda:

 Sub TextFile_Example1 () Dim pot kot niz Dim FileNumber As Integer Path = "D: \ Excel Files \ VBA File \ Hello.txt" 'Spremenite pot po vaši zahtevi FileNumber = FreeFile End Sub 

5. korak: Odprite besedilno datoteko

Zdaj moramo odpreti besedilno datoteko za delo z njo. Kot sem že razložil, moramo za odpiranje besedilne datoteke uporabiti stavek OPEN.

6. korak: Uporabite metodo tiskanja / pisanja

Ko je datoteka odprta, moramo vanjo nekaj zapisati. Za pisanje v besedilno datoteko moramo uporabiti bodisi metodo »Write« ali »Print«.

Koda:

 Sub TextFile_Example1 () Dim pot kot niz Dim DimNumber As Integer Path = "D: \ Excel Files \ VBA File \ Hello.txt" 'Spremenite pot po vaši zahtevi FileNumber = FreeFile Odprta pot za izhod kot FileNumber Natisni #FileNumber, " Dobrodošli "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 Files\VBA File\Hello.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 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 Files\VBA File\Hello.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 

So, run the code using the F5 key or manually then, it will copy the data like the below.