VBA Write Text File - Schreiben Sie Excel-Daten mit VBA-Code in Textdateien

Inhaltsverzeichnis

Excel VBA Textdatei schreiben

In VBA können wir eine Textdatei öffnen oder lesen oder schreiben. Eine Textdatei zu schreiben bedeutet, dass die Daten, die wir in einem Excel-Blatt haben, und wir möchten, dass sie in eine Textdatei oder eine Notizblockdatei umgewandelt werden. Es gibt zwei Methoden, eine davon Verwenden der Dateisystem-Objekteigenschaft von VBA und einer anderen mithilfe der Open and Write-Methode in VBA.

In den meisten Unternehmen versuchen die Unternehmen nach Fertigstellung des Berichts, den Bericht in die Datenbank hochzuladen. Zum Hochladen in die Datenbank verwenden sie das Format „Textdateien“, um die Datenbank zu aktualisieren. Normalerweise kopieren wir die Daten aus Excel und fügen sie in eine Textdatei ein. Der Grund, warum wir uns auf Textdateien verlassen, weil diese aufgrund ihrer leichten und einfacheren Methoden sehr einfach zu bearbeiten sind. Durch die Verwendung der VBA-Codierung können wir das Kopieren von Daten aus einer Excel-Datei in eine Textdatei automatisieren. In diesem Artikel zeigen wir Ihnen, wie Sie mit VBA-Code Daten aus einer Excel-Datei in eine Textdatei kopieren oder schreiben.

Wie schreibe ich Daten mit VBA in Textdateien?

Das Schreiben von Daten von Excel in Text ist eine komplexe Codierung und erfordert sehr gute Kenntnisse der VBA-Codierung. Führen Sie die folgenden Schritte aus, um den VBA-Code zum Kopieren von Daten aus Excel in eine Textdatei zu schreiben.

Bevor ich Ihnen den Weg zum Schreiben des Codes zeige, möchte ich Ihnen erklären, wie Sie die Textdatei mithilfe einer open-Anweisung öffnen.

Syntax der geöffneten Textdatei

Öffnen (Dateipfad), Für (Modus), As (Dateinummer)

Dateipfad : Der Pfad der Datei, die wir auf dem Computer öffnen möchten.

Modus: Der Modus ist die Kontrolle, die wir über das Öffnen von Textdateien haben können. Wir können drei Arten der Kontrolle über die Textdatei haben.

  • Eingabemodus: Dies schlägt eine schreibgeschützte Steuerung der öffnenden Textdatei vor. Wenn wir den Eingabemodus verwenden, können wir mit der Datei nichts anfangen. Wir können nur den Inhalt der Textdatei lesen.
  • Ausgabemodus: Mit dieser Option können wir den Inhalt darauf schreiben. Der Punkt, an den wir uns hier erinnern müssen, ist, dass alle vorhandenen Daten überschrieben werden. Wir müssen uns also vor dem möglichen Verlust alter Daten hüten.
  • Append-Modus: Dieser Modus ist das Gegenteil des OutPut-Modus. Mit dieser Methode können wir die neuen Daten tatsächlich am Ende der vorhandenen Daten in die Datei schreiben.

Dateinummer: Hiermit wird die Textdateinummer aller geöffneten Textdateien gezählt. Dadurch werden die geöffneten Dateinummern in ganzzahligen Werten von 1 bis 511 erkannt. Das Zuweisen der Dateinummer ist schwierig und führt zu großer Verwirrung. Hierfür können wir die kostenlose Dateifunktion verwenden.

Free File gibt die eindeutige Nummer für die geöffneten Dateien zurück. Auf diese Weise können wir die eindeutige Dateinummer ohne doppelte Werte zuweisen.

Beispiel 1

Führen Sie die folgenden Schritte aus, um den Code zum Erstellen einer neuen Textdatei zu schreiben.

Angenommen, Sie haben bereits eine Textdatei mit dem Namen "Hello.txt" in Ihrem Computerspeicher und wir zeigen Ihnen, wie Sie die Daten darin schreiben.

Schritt 1: Variable deklarieren

Deklarieren Sie die Variable, die den Dateipfad als Zeichenfolge enthält.

Code:

Sub TextFile_Example1 () Dim Path As String End Sub
Schritt 2: Bestimmen Sie die Dateinummer

Um festzustellen, auf welche Dateinummer wir uns beziehen, deklarieren Sie eine weitere Variable als Integer.

Code:

Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer End Sub
Schritt 3: Dateipfad zuweisen

Weisen Sie nun für die Pfadvariable den Dateipfad mit einem Dateinamen zu.

Code:

Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: Excel-Dateien VBA-Datei Hello.txt" 'Ändern Sie den Pfad gemäß Ihrer Anforderung End Sub
Schritt 4: Freie Dateifunktion zuweisen

Weisen Sie nun für die Variable Dateinummer die Funktion "Freie Datei" zu, um eindeutige Dateinummern zu speichern.

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 End Sub
Step 5: Open Text File

Now we need to open the text file to work with it. As I have explained, we need to use the OPEN statement to open the text file.


Step 6: Use the Print/Write Method

Once the File is opened, we need to write something in it. To write in the text file we need to use either the “Write” or “Print” method.

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" 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

Führen Sie den Code also mit der Taste F5 oder manuell aus. Anschließend werden die folgenden Daten kopiert.

Interessante Beiträge...