Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
380to384
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
380to384
380to384
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeichen tauschen in großem txt-File

Zeichen tauschen in großem txt-File
11.02.2004 10:29:03
Reiner
Hallo Profis,
ich habe eine immerwiederkehrende Datei (*.txt), in der ich Semikolons und Anführungszeichen austauschen muß, um nach Rückspeichern mit Excel drauf zugreifen zu können. (Feldtrenner korrigieren)
Nun wächst das File permanent und ist bei 7500KB angelangt, sodaß die benutzte VBA-Routine sehr lange benötigt.
Unten habe ich die wichtigsten Statements angefügt.
Eure Tipps würden mir sehr helfen, wenn es gelänge die Verarbeitungszeit zu reduzieren.
Danke Reiner
~Open ZuöffnendeDatei For Input Access Read As #1 Len = 32767 'input
~Open ZuöffnendeDatei & "x" For Output As #2 'output
~Do Until EOF(1)
~ Line Input #1, Text
~ For z = 1 To Len(Text)
~ Next z
~ Print #2, Text
~Loop

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeichen tauschen in großem txt-File
11.02.2004 12:27:31
Thorsten
Hi Reiner
Wäre die Verwendung der Funktion
InStr
Syntax:
InStr([Start, ]Zeichenfolge1, Zeichenfolge2[, Vergleich])
eine Lösung?
InStr gibt die 1. Position zurück, an der sich ein bestimmtes Zeichen befindet.

Sub test()
variable="das ist ein satz, in dem sich kommata, aber keine anderen satzzeichen befinden"
Do Until position = 0
position = InStr(1,variable,",") 'ergebnis ist 17, da sich das erste Komma an der 17. Stelle befindet
neueVariable = neueVariable & Mid(variable,1,position-1) & Right(variable,position+1) 'neueVariable enthält Teilstring von variable OHNE erstes gefundenes Komma
variable = neueVariable 'variable erhält den geänderten Satz von neueVariable
Loop 'suche nach weiteren Kommata wird fortgesetzt
End Sub

Ich hab diesen Code jetzt einfach mal so aufgeschrieben, aber nicht getestet, da ich keine so große Datenmenge hab, in der ich zeitliche Unterschiede feststellen kann, ob ich nun mit InStr arbeite oder ob ich in einem String jedes einzelne Zeichen kontrolliere.
Hoffe aber, dass mein Vorschlag Dir so oder vielleicht abgeändert weiterhelfen kann.
Ciao
Thorsten
Anzeige
AW: Zeichen tauschen in großem txt-File
11.02.2004 12:37:58
Reiner
Hallo Thorsten,
danke für Deine Unterstützung.
Den Teil zum Auffinden und Austauschen des Zeichens habe ich im beigefügten Code weggelassen, da dies nicht das Problem ist.
Das Problem wird beim satzweisen Einlesen (voraussichtlich) liegen, was solange dauert.
Gruß Reiner
AW: Zeichen tauschen in großem txt-File
11.02.2004 13:00:19
Thorsten
Hi Reiner
Vielleicht lieg ich ja wieder falsch. Aber warum verwendest Du in der Zeile
Open ZuöffnendeDatei For Input Access Read As #1 Len = 32767
die Angabe einer Satzlänge?
Wenn ich diesen Teil richtig verstehe, puffert Dein Code bei jeder einzulesenden Zeile 32767 Zeichen, egal wie lang die Zeile wirklich ist.
(oder ich hab es nicht verstanden :-) )
Der Grund könnte natürlich auch ganz einfach die Größe der Datei sein. Denn 7,5 MB sind ja auch nich wenig.
Ciao
Thorsten
Anzeige
AW: Zeichen tauschen in großem txt-File
11.02.2004 13:04:34
Heinz A. Wankmüller
Hallo Rainer,
wozu willst du den Feldtrenner ändern, um danach mit Excel auf die Datei zugreifen zu können? Das Einlesen geht doch mit jedem Trenner und folgende Änderungen lassen sich ja auch in Excel bewerkstelligen.
Gruß
Heinz
AW: Zeichen tauschen in großem txt-File
11.02.2004 13:13:48
Reiner
Hallo Heinz,
ich muß (leider) einzelne Zeichen, die ansonsten die Funktion des Feldtrenners haben austauschen, damit die Spaltenzuweisung danach sauber ist.
Sprich die Ursprungsdatei ist fehlerbehaftet (z.B. zwei Anführungszeichen hintereinander,
obwohl es nur 1 sein darf) und daran ist auch nichts zu ändern im Vorfeld.
Gruß Reiner
Anzeige
AW: Zeichen tauschen in großem txt-File
11.02.2004 13:32:22
Heinz A. Wankmüller
Hallo Reiner,
also ich würde die gesamte Datei ohne Spaltentrennung einlesen (alles in eine Spalte), dann die Zeichen ersetzen und wieder als Text speichern. Anschließend dann normal mit Feldtrennern einlesen.
Natürlich habe ich keine Ahnung we das bei einer 7,5 MB-Datei läuft.
Gruß
Heinz
AW: Zeichen tauschen in großem txt-File
11.02.2004 13:39:42
Reiner
Hallo Thorsten und Heinz,
ich habe mit LEN(...) die max. mögliche Satzgröße angegeben. Das war ein Versuch der aber auch nichts brachte.
Den Vorschlag von Heinz werde ich mal aufgreifen.
Bin selbst gespannt.
Danke Reiner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige