Daten in TXT Datei Schreiben/Lesen
lutz
Ich möchte Daten die ich immer in eine Tabelle "Liste" buche, auch in eine externe txt-Datei wegschreiben.
Dazu müssen natürlich immer nur die Neuen Zeilen dazu übertragen werden.
Ich habe einen Code (von Tino?) im Internet gefunden er auch gut funktioniert:
Option Explicit
'*********************************
'------Excel und Textdateien------
'-------Schreiben und Lesen-------
'*********************************
Sub ZeileInTXTschreiben2()
' schreibt 1 Zeile in eine Textdatei
Dim intFF As Integer
Dim strDatei As String
strDatei = "d:\Test.txt"
intFF = FreeFile
Open strDatei For Output As #intFF ' Öffnet oder erstellt Textdatei zum _
hineinschreiben
' Anstelle von Output kann auch Append stehen
' (Output überschreibt vorhandene Datei, Append fü _
gt eine neue Zeile hinzu)
Print #intFF, Cells(1, 1) ' Schreibt den Wert aus A1 in die Datei
Close #intFF ' schließt die Textdatei
End Sub
Sub ZeileninTXTschreiben()
' schreibt alle Zellen aus Spalte A(1) in eine Textdatei
Dim intFF As Integer
Dim iZeile As Integer
Dim strDatei As String
Dim strTemp As String
strDatei = "d:\Test.txt"
intFF = FreeFile
iZeile = 1 ' Variable für Zeilennummer
Open strDatei For Output As #intFF ' Öffnet oder erstellt Textdatei zum _
hineinschreiben
Do Until Cells(iZeile, 1).Value = "" ' Schleife: Laufe solange, bis Zelle leer ist
strTemp = Cells(iZeile, 1) ' Zellwert an Zwischenspeicher übergeben
Print #intFF, strTemp ' Zwischenspeicher in TXTDatei schreiben
iZeile = iZeile + 1 ' Zeilenzähler erhöhen
Loop ' zurück zum Schleifenbeginn
Close #intFF ' schließt die Textdatei
End Sub
'-------------------------------------------------------------------
Sub ZeileAusTXTlesen2()
' liest 1 Zeile aus einer Textdatei
Dim intFF As Integer
Dim strDatei As String
strDatei = "d:\Test.txt"
intFF = FreeFile
Open strDatei For Input As #intFF ' Öffnet Textdatei zum Lesen
Line Input #intFF, strDatei ' Liest die 1. Zeile aus
Range("A1") = strDatei ' Der Wert wird aus dem Zwischenspeicher an die _
Zelle A1 übergeben
Close #intFF ' schließt die Textdatei
End Sub
Sub ZeilenAusTXTlesen()
' liest alle Zeilen aus einer Textdatei und schreibt Inhalt in Spalte A
Dim intFF As Integer
Dim iZeile As Integer
Dim strDatei As String
strDatei = "d:\Test.txt"
intFF = FreeFile
iZeile = 1 ' Variable für Zeilennummer
Open strDatei For Input As #intFF ' Öffnet Textdatei zum Lesen
Do While Not EOF(intFF) ' Schleife: Laufe bis zur letzten Zeile
Line Input #intFF, strDatei ' Zeile Lesen und zwischenspeichern
Cells(iZeile, 1) = strDatei ' Zwischenspeicher an Zelle übergeben
iZeile = iZeile + 1 ' Zeilennummer erhöhen
Loop ' zurück zum Schleifenbeginn
Close #intFF ' schließt die Textdatei
End Sub
Mein Problem: ich möchte nicht nur Spalte A übertragen sondern eigentlich alles aus der Tabelle - am besten wohl getrennt mit Komma oder Semikolon.
Wie müßte man den Code anpassen?
Entweder so das man vorgibt welche Spalten er übertragen soll oder noch besser wenn er das aus dem Inhalt der Tabelle "Liste" ermittelt.
Die Tabelle Liste ist so aufgebaut das immer in Spalte A etwas steht wenn auch in den anderen Spalten Einträge sind - der Code muß also nur Spalte A prüfen.
Vielen Dank für Euro Hilfe ind viele Grüße Lutz