VBA szöveges fájl írása - Írjon Excel adatokat szöveges fájlokba VBA kód segítségével

Excel VBA szövegfájl írása

A VBA-ban megnyithatunk, olvashatunk vagy írhatunk egy szöveges fájlt, szöveges fájl írása azt az adatot jelenti, amely egy excel lapban van, és azt szeretnénk, ha szöveges fájlba vagy jegyzettömb fájlba kerülne. Kétféle módszer létezik, az egyik a VBA fájlrendszer objektum tulajdonságának és egy másiknak a VBA Megnyitás és írás metódusát használja.

A vállalati vállalatok többségében, miután a jelentés elkészült, arra törekednek, hogy feltöltsék a jelentést az adatbázisba. Az adatbázisba történő feltöltéshez a „Text Files” formátumot használják az adatbázis frissítésére. Az adatokat általában másoljuk az excelből és beillesztjük egy szöveges fájlba. Miért támaszkodunk a szöveges fájlokra, mert könnyű és egyszerűbb módjaik miatt nagyon könnyű velük dolgozni. A VBA kódolással automatizálhatjuk az adatok másolását az Excel fájlból a szöveges fájlba. Ebben a cikkben megmutatjuk, hogyan másolhat vagy írhat adatokat egy excel fájlból szöveges fájlba a VBA kód segítségével.

Hogyan írhatunk adatokat szöveges fájlokba a VBA használatával?

Adatok írása excelről szövegre bonyolult kódolás és nagyon jó ismereteket igényel a VBA kódolásról. Kövesse az alábbi lépéseket a VBA kód megírásához, hogy adatokat másoljon az Excelből egy szövegfájlba.

Mielőtt megmutatnám a kód megírásának módját, hadd magyarázzam el, hogyan nyissuk meg a szöveges fájlt egy nyílt utasítás használatával.

Az Open Text File szintaxisa

Megnyitás (Fájl elérési útja), For (mód), As (Fájl száma)

Fájl elérési útja: A fájl elérési útja, amelyet megpróbálunk megnyitni a számítógépen.

Mód: A mód a vezérlés, amelyet a szöveges fájlok megnyitása felett használhatunk. A szövegfájl felett háromféle vezérlési lehetőség áll rendelkezésünkre.

  • Beviteli mód: Ez a nyitó szövegfájl „ csak olvasható ” vezérlését javasolja . Ha az „Input Mode” módot használjuk, akkor nem tudunk mit kezdeni a fájllal. Csak olvashatjuk a szöveges fájl tartalmát.
  • Kimeneti mód: Ezzel az opcióval ráírhatjuk a tartalmat. A lényeg, amelyre itt emlékeznünk kell, az összes létező adat felülírásra kerül. Tehát óvakodnunk kell a régi adatok esetleges elvesztésétől.
  • Függelék mód: Ez az üzemmód teljesen ellentétes az OutPut móddal. Ezzel a módszerrel valójában az új adatokat a fájlban lévő meglévő adatok végére írhatjuk.

Fájlszám: Ez megszámolja az összes megnyitott szövegfájl szöveges fájlszámát. Ez fel fogja ismerni a megnyitott fájlszámokat egész számokban, 1-től 511-ig. A fájlszám hozzárendelése bonyolult és sok zavart okoz. Ehhez használhatjuk az ingyenes File funkciót.

A Free File a nyitott fájlok egyedi számát adja vissza. Így minden egyedi ismétlődő érték nélkül hozzá lehet rendelni az egyedi fájlszámot.

1. példa

Kövesse az alábbi lépéseket a kód megírásához egy új szöveges fájl létrehozásához.

Tegyük fel, hogy már volt egy „Hello.txt” nevű szövegfájl a számítógép tárhelyén, és megmutatjuk, hogyan kell az adatokat beleírni.

1. lépés: Változó deklarálása

Nyújtsa be a változót, hogy a fájl elérési útját karakterláncként tartsa.

Kód:

Sub TextFile_Example1 () Dim útvonal mint karakterlánc vége Sub
2. lépés: Határozza meg a fájl számát

Annak megállapításához, hogy melyik fájlszámra hivatkozunk, deklaráljon még egy változót egész számnak.

Kód:

Sub TextFile_Example1 () Dim útvonal mint karakterlánc Dim FileNumber egész szám vége Sub
3. lépés: Fájlútvonal hozzárendelése

Most a Path változóhoz rendelje hozzá a fájl elérési útját egy fájlnévvel.

Kód:

Sub TextFile_Example1 () Dim útvonal mint karakterlánc Dim FileNumber as egész útvonal = "D: Excel Files VBA File Hello.txt" 'Módosítsa az elérési utat az Ön követelményeinek megfelelően Vége Sub
4. lépés: Ingyenes fájlfunkció hozzárendelése

Most a File Number változóhoz rendelje hozzá a „Free File” funkciót az egyedi fájlszámok tárolásához.

Kód:

Sub TextFile_Example1 () Dim útvonal karakterláncként Dim FileNumber egész számként elérési út = "D: Excel Files VBA File Hello.txt" 'Módosítsa az elérési utat a követelményeinek megfelelően FileNumber = FreeFile End Sub
5. lépés: Nyissa meg a szövegfájlt

Most meg kell nyitnunk a szövegfájlt, hogy működjön vele. Mint kifejtettem, az OPEN utasítással kell megnyitnunk a szöveges fájlt.


6. lépés: Használja a nyomtatási / írási módszert

Miután megnyitotta a Fájlt, be kell írnunk valamit. A szöveges fájlba történő íráshoz vagy az „Írás”, vagy a „Nyomtatás” módszert kell használnunk.

Kód:

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

Tehát futtassa a kódot az F5 billentyűvel vagy manuálisan. Ezután átmásolja az alábbi adatokat.

érdekes cikkek...