Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
828to832
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
828to832
828to832
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

TXT-Datei

TXT-Datei
14.12.2006 07:51:24
Max
Hallo zusammen,
ich habe eine txt-Datei mit einem bestimmten Format. Es handelt sich dabei um eine Vordatei zur Verbuchung von Forderungen in einem Rechnungswesensystem.
Dieser Datensatz hat folgenden Aufbau (beispielhafter Auszug):
?600002001200612080072869200600000000501004381687 NWhisky Willi GDG
D.h. es sind zwischen den einzelnen Inhalten bestimmte vordefinierte Leerzeichen einzuhalten.
Aufgrund der diversen Anforderungen sollte die Bearbeitung in Excel erfolgen.
Wenn ich nun aber die txt-Datei per Excel öffne, bearbeite, die Felder als Text formatiere und die Datei wieder im Format (Text (Tabstopp-getrennt) abspeichere, dann ist die txt-Datei in ihrem Aufbau verändert, weil die Leerzeichen verschwunden sind und damit der Datensatz nicht mehr zu gebrauchen ist.
?600002001200612080072869200600000000501004381687NWhiskyWilli..
Wie kann ich also die txt.Datei bearbeiten, um das gleiche Format zu erhalten wie vorher?
Kann mir jemand weiterhelfen?
Danke und Gruß,
Max

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: TXT-Datei
14.12.2006 09:32:26
haw
Hallo Max,
dazu ist es notwendig, eine eigene Routine zu verwenden.
Zuerst musst du die Daten in Excel laut Satzaufbau vorbereiten. Den Satzaufbau bekommst du sicher von demjenigen, der die Datei exportiert.
Satzaufbau bedeutet eine Auflistung der einzelnen Felder, deren Dateitypen und Länge.
In Excel kannst du dann nummerische Felder über das Zahlenformat formatieren, d.h. jede leere Stelle muss mit Nullen aufgefüllt werden, Textfelder werden normalerweise so definiert, dass leerbleibende Stellen durch Leerzeichen aufzufüllen sind.
Danach kannst du z.B. mit folgendem Code die Inhalte der Zellen in eine Textdatei namens "test.txt" schreiben:
Close
Open "C:\test.txt" For Output As #1
With ThisWorkbook.Worksheets("ZVAZeilen")
zl = .Cells(Rows.Count, 1).End(xlUp).Row
For z = 3 To zl
For s = 1 To 26
tmp = tmp & .Cells(z, s).Text & ";"
Next s
tmp = Left(tmp, Len(tmp) - 1)
Print #1, tmp
tmp = ""
Next z
End With
Close
Hier wurde aus der Tabelle "ZVAZeilen" der Bereich von A1:Z100 (wenn die letzte Zeile 100 wäre) in die Datei "test.txt" geschrieben.
Gruß Heinz
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige