![]() |
![]() |
|
|
|||||||
| Software Rat & Tat bei Softwareproblemen |
![]() |
|
|
Themen-Optionen | Ansicht |
|
|
#11 |
|
Elite
![]() |
ho capito!
![]()
____________________________________
Liebe Grüsse Michi |
|
|
|
|
|
#12 |
|
Elite
![]() Registriert seit: 23.03.2000
Alter: 64
Beiträge: 1.058
|
WinBatch Quick & Dirty Style, ungetestet:
Code:
old = FileOpen("C:\DATEN\input.asc", "READ")
new = FileOpen("C:\DATEN\output.qif", "WRITE")
newline = "!Type:Bank"
FileWrite(new, newline)
WHILE @TRUE
oldline = FileRead(old)
IF oldline == "*EOF*" THEN BREAK
IF StrSub(oldline,27,11) == "Valutadatum" THEN
newline = "^"
FileWrite(new, newline)
newline = strcat("D",StrSub(oldline, 40, 2),"/",StrSub(oldline, 43, 2),"/",StrSub(oldline, 46, 4))
FileWrite(new, newline)
ENDIF
IF StrSub(oldline,51,6) == "Betrag" THEN
newline = strcat("T",StrSub(oldline,58,-1))
newline = strreplace(newline,"EUR","")
newline = strreplace(newline," ","")
newline = strreplace(newline,".","")
newline = strreplace(newline,",",".")
FileWrite(new, newline)
ENDIF
IF StrSub(oldline,1,12) == "Buchungstext" THEN
newline = strcat("P",StrSub(oldline,15,-1))
FileWrite(new, newline)
ENDIF
ENDWHILE
FileClose(new)
FileClose(old)
|
|
|
|
|
|
#13 |
|
Elite
![]() Registriert seit: 23.03.2000
Alter: 64
Beiträge: 1.058
|
* Plonked *
|
|
|
|
|
|
#14 |
|
Elite
![]() |
@Dr.M:
DANKE!!! Schíck' mir bitte via mail deine KontoNr. & BLZ ---> Donation kommt ![]()
____________________________________
Liebe Grüsse Michi |
|
|
|
|
|
#15 |
|
Elite
![]() Registriert seit: 23.03.2000
Alter: 64
Beiträge: 1.058
|
* na wirkli ned *
|
|
|
|
|
|
#16 |
|
Elite
![]() |
dann sage ich nochmals danke - es wäre mir aber wirklich eine "Anerkennung" wert!!!
Du hast mir einige Zeit gespart UND VOR ALLEM MIR DAS MS-MONEY "WIEDERBELEBT", indem Du mich auf die Idee mit der QIF-Importdatei gebracht hast!!! ![]()
____________________________________
Liebe Grüsse Michi |
|
|
|
|
|
#17 |
|
Elite
![]() |
Liebe Gemeinde,
mein Problem ist nun bestmöglich gelöst (besser ginge es nur wenn unsere BA-CA den "Datenhahn" für Money wieder aufmachen würde - machen sie aber nicht!!!)
Dies mag zwar auf den ersten Blick wirr aussehen, ist aber die einzig machbare Variante, um die Onlinedaten zu importieren. Ich habe den code von Dr. Mabuse noch ein bisserl verfeinert - es wird nun zwischen Empfängernamen & Beschreibungen unterschieden und richtig zugeordnet - hilft nicht unwesentlich ![]() Einen kleinen Bug hat die Sache noch: Ich muss an die .TXT-Datei beim Kopieren der Zwischenablage noch zusätzlich drei Leerzeilen anhängen, sonst kommt es zu einem Fehler, da das *EOF* erreicht wäre - sonst passt's aber - vielleicht hat ja unser Dr. Mabuse noch eine Idee dazu... Ich hoffe, dass dies auch für jemanden anderen nützlich ist - auf Wunsch werde ich diesen Code gerne als .EXE (mit angepassten Pfaden) compilieren, sofern kein WINBATCH vorhanden ist! Code:
old = FileOpen("H:\temp\a.txt", "READ")
new = FileOpen("H:\temp\output.qif", "WRITE")
newline = "!Type:Bank"
FileWrite(new, newline)
WHILE @TRUE
oldline = FileRead(old)
IF oldline == "*EOF*" THEN BREAK
IF StrSub(oldline,27,11) == "Valutadatum" THEN
newline = strcat("D",StrSub(oldline, 40, 10))
FileWrite(new, newline)
ENDIF
IF StrSub(oldline,51,6) == "Betrag" THEN
newline = strcat("T",StrSub(oldline,58,-1))
newline = strreplace(newline,"EUR","")
newline = strreplace(newline," ","")
newline = strreplace(newline,".","")
newline = strreplace(newline,",",".")
FileWrite(new, newline)
ENDIF
flag=0
new1=""
IF StrSub(oldline,1,12) == "Buchungstext" THEN
new1 = strcat("M",StrSub(oldline,16,-1))
IF StrSub(oldline,16,18) == "EZE-Lastschrift a/" THEN
new1 = strreplace(oldline,"Buchungstext: EZE-Lastschrift a/","")
flag=1
new1=strcat("P",new1)
ENDIF
IF StrSub(oldline,16,13) == "Gutschrift a/" THEN
new1 = strreplace(oldline,"Buchungstext: Gutschrift a/","")
flag=1
new1=strcat("P",new1)
ENDIF
IF StrSub(oldline,16,14) == "Lastschrift a/" THEN
new1 = strreplace(oldline,"Buchungstext: Lastschrift a/","")
flag=1
new1=strcat("P",new1)
ENDIF
oldline = FileRead(old)
IF StrSub(oldline,1,9) == "Empfänger" THEN
new2 = strcat("P",StrSub(oldline,12,-1))
FileWrite(new, new2)
new2 =""
else
new2 = oldline
ENDIF
oldline = FileRead(old)
new3 = oldline
oldline = FileRead(old)
new4 = oldline
IF flag==0 then
newline = strcat (new1, new2, new3, new4)
FileWrite(new, newline)
else
FileWrite(new, new1)
newline = strcat ("M", new2, new3, new4)
FileWrite(new, newline)
ENDIF
newline = "^"
FileWrite(new, newline)
ENDIF
ENDWHILE
FileClose(new)
FileClose(old)
run ("H:\temp\output.qif","")
____________________________________
Liebe Grüsse Michi |
|
|
|
|
|
#18 |
|
Elite
![]() |
Nun habe ich auch noch das Problem mit den Leerzeilen gelöst:
einfach folgenden code ganz oben im listing hinzufügen (vor der ersten Zeile) Code:
old = FileOpen("H:\temp\a.txt", "APPEND")
oldline=""
filewrite (old,oldline)
filewrite (old,oldline)
filewrite (old,oldline)
FileClose(old)
____________________________________
Liebe Grüsse Michi |
|
|
|
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|