VBA - Textdatei in String einlesen

In diesem Tutorial wird gezeigt, wie Sie eine Textdatei in VBA in eine Zeichenfolge einlesen.

Wir können die Textdatei entweder zeilenweise oder als ganze Datei lesen.

Eine ganze Textdatei in einen String einlesen

Text in einer Textdatei besteht normalerweise aus mehreren Zeilen, die durch Trennzeichen getrennt sind. Dies können ein Komma („,“), ein Komma mit Leerzeichen („,“) sein, ein Semikolon („;“), ein Semikolon mit Leerzeichen („;“), ein Leerzeichen („“), ein Tabulator (vbTab ) oder in seltenen Fällen ein anderes Zeichen wie eine Tilde (~). Die Zeilen werden normalerweise durch einen Zeilenumbruch (vbCRLF) getrennt.

Der einfachste Weg, eine ganze Textdatei in VBA zu lesen, besteht darin, den folgenden Code auszuführen, der den gesamten Inhalt der Textdatei in eine Zeichenfolgenvariable ablegt. Dieses Verfahren verwendet die VBA Open-Anweisung und die VBA FreeFile-Funktion.

12345678910 Unter ReadFile()iTxtFile als Integer dimmenDim strFile As StringDim strFileText As StringstrFile = "C:\Test\TestFile.txt"iTxtFile = FreeFilestrFile zur Eingabe als FreeFile öffnenstrFileText = Input(LOF(iTxtFile), iTxtFile)iTxtFile schließenEnd Sub

Wir können auch eine Textdatei in VBA lesen, indem wir das FileSystemObject verwenden. Im folgenden Code haben wir Late Binding mit dem File System Object verwendet.

1234567891011 Unter ReadTextFile()Dim strText als StringFSO als Objekt dimmenTSO als Objekt dimmenFSO setzen = CreateObject("Scripting.FileSystemObject")Set TSO = FSO.OpenTextFile("C:\Test\TestFile.txt")strText = TSO.ReadAllÜNB.SchließenTSO = Nichts setzenFSO = Nichts setzenEnd Sub

Wir können auch eine frühe Bindung im Code verwenden und das Dateisystemobjekt deklarieren, indem wir in unserem Excel-Projekt einen Verweis auf das Dateisystemobjekt erstellen.

1234567891011 Unter ReadTextFile()Dim strText als StringDim FSO als neues FileSystemObjectTSO als Objekt dimmenFSO setzen = CreateObject("Scripting.FileSystemObject")Set TSO = FSO.OpenTextFile("C:\Test\TestFile.txt")strText = TSO.ReadAllÜNB.SchließenTSO = Nichts setzenFSO = Nichts setzenEnd Sub

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave