icarob83
Goto Top

.txt auslesen, verändern und neu ablegen

Hallo,

habe ein Problem. Bekomme aus nem Warenwirtschaftssystem (lexware) bei dem Versandexport eine .txt erstellt, in der gewisse informationen wie z. B. Name, adresse usw. und auch der Betrag der Rechnung hinterlegt werden. Die einzelnen informationen sind durch " ; " getrennt.
Habe jetzt das Problem, dass leider der Betrag der Rechnung mit einem punkt zwischen Euro und Cent getrennt werden. Dort müsste aber ein Komma stehen, sonst kommt die Softw. von UPS net mit klar! Die .txt muss halt ausgelesen werden, der Wert muss verändert werden und neu abgespeichert werden.

Als Beispiel:

RG22426;Herr;Max,Mustermann;;;Mustermannstr. 7;22769;Musterhausen;;29016;DE;ST;5.000;1;0;10 22009;133.00;400001377572;


und da wo die die "133.00" am schluss steht, müsste "133,00" stehen.


Wie löse ich das am besten.

Vielen Dank

Content-Key: 108608

Url: https://administrator.de/contentid/108608

Ausgedruckt am: 29.03.2024 um 15:03 Uhr

Mitglied: 60730
60730 10.02.2009, aktualisiert am 18.10.2012 um 18:37:45 Uhr
Goto Top
Servus und Willkomen,

dir was aus.

Gruß
Mitglied: alex234
alex234 11.02.2009 um 10:40:50 Uhr
Goto Top
Hi,

hier hab ich dir mal ein VBS-Script geschrieben dann funktioniert es:

Const ForReading = 1
Const ForWriting = 2
Const ForAppending = 8

'Quelldatei = OPfad, ZPfad = Zieldatei
OPfad = "C:\Test\NeueTextdatei.txt"
ZPfad = "C:\Test\NeueTextdatei2.txt"

Set fso = WSCript.CreateObject("Scripting.FileSystemObject")
Set Original = fso.OpenTextFile(OPfad,ForReading,True)

Zeile = Original.ReadLine
Zeile2 = Split(Zeile,";")
NeuWert = Replace(Zeile2(16),".",",")
Zeile2(16) = NeuWert

Original.close

Set NewFile = fso.OpenTextFile(ZPfad,ForWriting,True)

For j = 0 to 17
Ausgabe = Ausgabe + Zeile2(j) + ";"
next
NewFile.Write Ausgabe

NewFile.Close


Pfade in dem Skript dann einfach noch anpassen, dann eine .vbs Datei erstellen und schon müsste es funktionieren face-wink

Gruß
Alex
Mitglied: icarob83
icarob83 12.02.2009 um 13:23:44 Uhr
Goto Top
Danke... hat super funktioniert!!!

Vielen Dank nochmal

Wenn du noch wüsstest, wie man die daraus generierte .exe über ne .bat starten lassen kannst wäre super.
Die .bat müsste permanent in nem Ordner überpüfen, ob eine gewisse .txt vorhanden ist, wenn ja dann die .exe ausführen. Übrigens, kennst du nen compiler für vbs to exe der freeware ist und der nicht registriert werden muss?