Fișier text de scriere VBA - Scrieți date Excel în fișiere text folosind codul VBA

Fișier text de scriere VBA Excel

În VBA putem deschide sau citi sau scrie un fișier text, pentru a scrie un fișier text înseamnă datele pe care le avem într-o foaie Excel și le dorim într-un fișier text sau un fișier notepad, există două metode de făcut, una este prin folosind proprietatea obiectului File System al VBA și altul este prin utilizarea metodei Open și write în VBA.

În majoritatea companiilor corporative, odată ce raportul este finalizat, ei caută să încarce raportul în baza de date. Pentru a încărca în baza de date, utilizează formatul „Fișiere text” pentru a actualiza baza de date. De obicei copiem datele din Excel și le lipim într-un fișier text. Motivul pentru care ne bazăm pe fișiere text, deoarece acestea sunt foarte ușor de lucrat datorită modurilor lor ușoare și mai simple. Prin utilizarea codificării VBA, putem automatiza sarcina de copiere a datelor din fișierul Excel în fișierul text. În acest articol, vă vom arăta cum să copiați sau să scrieți date dintr-un fișier Excel în fișier text folosind codul VBA.

Cum se scrie date în fișiere text folosind VBA?

Scrierea datelor de la Excel la text este o codificare complexă și necesită cunoștințe foarte bune despre codarea VBA. Urmați pașii de mai jos pentru a scrie codul VBA pentru a copia date din Excel într-un fișier text.

Înainte de a vă arăta modul de scriere a codului, permiteți-mi să explic cum să deschideți fișierul text folosind o declarație deschisă.

Sintaxa fișierului text deschis

Deschis (Calea fișierului), Pentru (Mod), Ca (Număr fișier)

Calea fișierului: calea fișierului pe care încercăm să îl deschidem pe computer.

Mod: Modul este controlul pe care îl putem avea asupra deschiderii fișierelor text. Putem avea trei tipuri de control asupra fișierului text.

  • Mod de intrare: Aceasta sugerează controlul „ numai citire ” al fișierului text de deschidere. Dacă folosim „Modul de intrare”, nu putem face nimic cu fișierul. Putem citi doar conținutul fișierului text.
  • Mod de ieșire: folosind această opțiune, putem scrie conținutul pe ea. Ideea de care trebuie să ne amintim aici este că toate datele existente vor fi suprascrise. Deci, trebuie să ne ferim de posibila pierdere a datelor vechi.
  • Mod adăugare : acest mod este complet opus modului OutPut. Folosind această metodă, putem scrie de fapt noile date la sfârșitul datelor existente în fișier.

Număr fișier: Acesta va conta numărul fișierului text al tuturor fișierelor text deschise. Aceasta va recunoaște numerele de fișiere deschise în valori întregi de la 1 la 511. Atribuirea numărului de fișier este dificilă și duce la o mulțime de confuzie. Pentru aceasta, putem folosi funcția File gratuit.

Free File returnează numărul unic pentru fișierele deschise. În acest fel, putem atribui numărul de fișier unic fără niciun fel de valori duplicat.

Exemplul nr. 1

Urmați pașii de mai jos pentru a scrie codul pentru a crea un fișier text nou.

Să presupunem că ați avut deja un fișier text numit „Hello.txt” în spațiul de stocare al computerului și vă vom arăta cum să scrieți datele în acesta.

Pasul 1: declarați variabilă

Declarați variabila pentru a menține calea fișierului ca Șir.

Cod:

Sub TextFile_Example1 () Atenuați calea ca sfârșit de șir Sub
Pasul 2: Determinați numărul fișierului

Pentru a determina la ce număr de fișier ne referim, declarați încă o variabilă ca Număr întreg.

Cod:

Sub TextFile_Example1 () Dim Path Ca șir Dim File File Number Integer End Sub
Pasul 3: Alocați calea fișierului

Acum, pentru variabila Path, atribuiți calea fișierului cu un nume de fișier.

Cod:

Sub TextFile_Example1 () Dim Path as String Dim FileNumber As Integer Path = "D: Excel Files VBA File Hello.txt" 'Schimbați calea conform cerințelor dvs. End Sub
Pasul 4: Alocați funcția de fișier gratuit

Acum, pentru variabila Număr fișier, atribuiți funcția „Fișier gratuit” pentru a stoca numere unice de fișiere.

Cod:

Sub TextFile_Example1 () Dim Path as String Dim FileNumber As Integer Path = "D: Excel Files VBA File Hello.txt" 'Schimbați calea conform cerințelor dvs. FileNumber = FreeFile End Sub
Pasul 5: Deschideți fișierul text

Acum trebuie să deschidem fișierul text pentru a lucra cu acesta. După cum am explicat, trebuie să folosim declarația OPEN pentru a deschide fișierul text.


Pasul 6: Utilizați metoda de tipărire / scriere

Odată ce fișierul este deschis, trebuie să scriem ceva în el. Pentru a scrie în fișierul text trebuie să folosim fie metoda „Write”, fie „Print”.

Cod:

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

Deci, rulați codul folosind tasta F5 sau manual. Apoi, va copia datele de mai jos.

Articole interesante...