Collapse column

Beiträge anzeigen

Diese Sektion erlaubt es dir alle Beiträge dieses Mitglieds zu sehen. Beachte, dass du nur solche Beiträge sehen kannst, zu denen du auch Zugriffsrechte hast.


Nachrichten - hth1140

Seiten: [1]
1
Ja, danke ...NB++ sagt es ist ANSI
.... also es scheint doch so, dass Excel der Verursacher ist:
ich habe eine Class geschrieben die u.a. folgendes tut (oder tun soll)
1. lesen der download Datei im csv Format
2. Analyse der Datei, abgesehen vom delimiter haben die Dateien folgende Formate:
    1) der Header hat die Felder durch den delimiter getrennt und das letzte Feld ist mit vbLf abgeschlossen
    2) der Header hat die Felder durch den delimiter getrennt und das letzte Feld ist mit delimiter und vbLf abg.
    3) der Header hat die Felder durch den delimiter getrennt und das letzte Feld ist mit vbCrLf abgeschlossen,
        ist dann der Fall, wenn es in den Feldern die mit "" eingeschlossen sind vbLf gibt.
    4) gleich wie 3) aber zusätzlich mit delimiter vbCrLf abgeschlossen.
   Format 1) und 2) werden vom onlinebanking geliefert.
   Format 3) und 4) entstehen, wenn die Datei mit Excel geöffnet wurde und entweder mit speichern wieder geschlossen wurde, wobei keine Daten verändert wurden sondern allenfalls die Spaltenbreite gezogen wurde. Wobei auch ein Unterschied besteht ob mit speichern mit Close oder ... AndereFormate csv
3. die eingelesene Datei wird auf ein einheitliches Format geändert und von mehrfach Leerzeichen gesäubert.
4. diese Daten werden als Array zu Verfügung gestellt und gespeichert (als History Datei)
5. da die Banken die Belegdaten nur 3 Monate halten, wird die "History Datei" mit den jeweiligen neuen Downloads ergänzt.
6. neue Downloads weden gleich behandelt und als "updDatei" gespeichert (möglicher Weise wird hier von Excel eine andere Codepage verwendet???, da die Tatsache, dass eigentlich nur Codepage relevante Änderungen auftauchen)
7. Beim syncronisieren der Datensätze falle ich dann leider mit dem strcomp wegen des veränderten Umlaute und Zahlenformate auf die Nase.

Im Debugger sehen die arrayDaten einwandfrei aus.
Den unterschied konnte ich nur über einen entsprechenden debug.print währen des strcomp feststellen.
Fehler tritt bei ca. 30% der Datensätze auf, je nachdem ob Umlaute verwendet werden. Merkwürdiger Weise ist jedoch der Format Fehler bzgl. der Belegnummer nicht bei allen Buchungszeilen die eine solche haben festzustellen.

Any Idears?

2
Guten Morgen,
danke für die Antwort, aber es hat nichts mit dem einlesen zu tun,
Set FSupd = fso.OpenTextFile(updFN)
    arUPD = Split(FSupd.ReadAll, vbCrLf, -1, vbBinaryCompare)
    FSupd.Close
oder
    Set FSsrc = fso.OpenTextFile(SrcFN)
    TFC = FSsrc.ReadAll
    FileContents = True
    FSsrc.Close

da die Zeichen nur in manchen Sätzen falsch sind. Auch nicht jedesmal wenn ich einen Datei download mache.
Es sind Datensätze aus dem onlinebanking.
Ich habe schon den eindruck, dass es davon abhängig ist, von welchen Server ich den download mache.
Es sind dann auch noch weitere "Zeichensatztprobleme" wie:
Bei Beträgen fehlen die nachlaufenden Nullen (;-10,40; vs. ;-10,4;) oder auch das Format einer Buchungsnummer (;1,70934E+14; vs. ;170933948103973;)
p.s.: wo kann ich eigentlich sehen, mit welchen Zeichencode Excel aktuell arbeitet?

3
Excel / Office 2007: VBA CSV Datei lesen und bearbeiten - Sonderzeichen
« am: Mai 13, 2017, 22:57:33 Nachmittag »
Liebe VBA Gurus
 ich lese eine CSV Datei und habe in manchen Zeilen im Text folgende Zeichen: z.B.: "BESTÄTIGUNG" es soll also ein "Ä" sein
 folgende Strings habe ich gefunden:
 binÜ1              binÜ2
 C383C593       C39C  =  Ü
 C383C5B8       C39F  =  ß
 C383E2809E   C384  =  Ä
 C383E28093   C396   = Ö
 TFC = Replace(TFC, binÜ1, binÜ2, 1,-1,vbBinaryCompare)
 ich wollte diese Zeichen binär mit replace in der ganzen Datei tauschen und scheitere jetzt daran, wie ich in VBA die string1 und string2 variable definieren kann.
 Wo werde ich die binären werte für die restlichen Umlaute finden?
 Kann jemand helfen?

Seiten: [1]