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: 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örekszenek, hogy feltöltsék a jelentést az adatbázisba. Az adatbázisba való feltöltéshez a „Text Files” formátumot használják az adatbázis frissítéséhez. 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 Excel fájlból szöveges fájlba másolásának feladatát. Ebben a cikkben megmutatjuk, hogyan kell adatokat másolni vagy írni az 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?

Az adatok excelről szövegre írása összetett 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

Nyissa meg a [Fájl elérési útja], a [Mód], a [Fájl száma] néven

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 . Az „Input Mode” használata esetén 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 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 megnyitott fájlok egyedi számát adja vissza. Így minden egyedi duplikációs érték nélkül hozzárendelhetjük az egyedi fájlszámot.

Itt töltheti le ezt a VBA szöveges szövegfájl sablont - VBA szöveges fájlfájl sablont

1. példa

Kövesse az alábbi lépéseket a kód megírásához egy új szövegfá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 írhatja bele az adatokat.

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

Nyújtsa be a változót, hogy a Fájl elérési útja legyen String.

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áljunk még egy változót egésznek.

Kód:

 Sub TextFile_Example1 () Dim útvonal mint karakterlánc Dim fájlszám mint 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 karakterláncként Dim FileNumber as egész út 

4. lépés: Ingyenes fájlfunkció hozzárendelése

Most a Fájlszám változóhoz rendelje hozzá a „Free File” függvényt az egyedi fájlszám tárolásához.

Kód:

 Sub TextFile_Example1 () Dim útvonal karakterláncként Dim FileNumber as egész út 

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ást kell használnunk a szöveges fájl megnyitásához.

6. lépés: Használja a Nyomtatás / Írás módszert

A fájl megnyitása után 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 () Dimenziós útvonal karakterláncként Dim FileNumber as egész út Üdvözöljük a „#FileNumber nyomtatása” mappát a „#FileNumber nyomtatása,„ VBA ”End Sub aloldalra 

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.