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

Printed on: May 5, 2024 at 14:05 o'clock

Mitglied: 60730
60730 Feb 10, 2009, updated at Oct 18, 2012 at 16:37:45 (UTC)
Goto Top
Servus und Willkomen,

dir was aus.

Gruß
Member: alex234
alex234 Feb 11, 2009 at 09:40:50 (UTC)
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
Member: icarob83
icarob83 Feb 12, 2009 at 12:23:44 (UTC)
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?