Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
832to836
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
832to836
832to836
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Begriff in Textdatei suchen und importieren

Begriff in Textdatei suchen und importieren
09.01.2007 15:57:15
Florian
Hallo,
Ich habe folgendes Problem.
Ich muss in einer Datei mit der Dateiendung .asc (lässt sich wie textdatei öffnen) alle Begriffe suchen die zwischen BEGIN_GROUPS und END_GROUPS stehen und in ein excelsheet kopieren. Das klappt auch wunderbar wenn ich die Textdatei in excel öffne, mit einer Schleife bis BEGIN_GROUPS suche und dann bis END_GROUPS kopiere.
Das Problem ist, das die Dateien manchmal weit über 75000 Zeilen haben.
Viele haben 250000 Zeilen und die Anweiungen BEGIN_GROUPS und END_GROUPS stehen immer fast am Ende.
Wie kann ich das Problem lösen?
Gruß Flo

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Begriff in Textdatei suchen und importieren
09.01.2007 16:16:20
Nepumuk
Hallo Flo,
wie groß sind die Dateien ungefähr (die Größte !!!)? Muss ich fragen, weil sich daran entscheidet, ob ich die auf einen Schlag einlesen kann. Wenn das geht, kannst du mit RegEx suchen, das dauert keine 10 Millisekunden.
Gruß
Nepumuk
AW: Begriff in Textdatei suchen und importieren
09.01.2007 16:23:37
Florian
Tja, die können schon 15 bis 20MB haben.
AW: Begriff in Textdatei suchen und importieren
09.01.2007 17:42:28
Florian
Hallo,
Ich hab jetzt nochmal das Format, wie die asc-Datei aussieht unten eingefügt:
blablabla...
blablabla...
blablabla...
BEGIN_GROUPS 9
1 L1 2 0 "LIST ELEMENTS" "" "VisualMESH" 1 4 7 10 13 16 ......
2 L2 2 0 "LIST ELEMENTS" "" "VisualMESH" 2 5 8 11 14 17 ...
3 L3 2 0 "LIST ELEMENTS" "" "VisualMESH" 3 6 9 12 15 18 ....
4 CORE 2 0 "LIST ELEMENTS" "" "VisualMESH" 20935 20936 ....
5 RBM_01 1 0 "LIST NODES" "" "VisualMESH" 4576
6 RBM_02 1 0 "LIST NODES" "" "VisualMESH" 1088
7 RBM_03 1 0 "LIST NODES" "" "VisualMESH" 1475
8 QUENCHED 2 0 "LIST ELEMENTS" "" "VisualMESH" 53938 53939 53940 53941 ...
9 VOLUME 2 0 "LIST ELEMENTS" "" "VisualMESH" 1 2 3 4 5 6 ....
END_GROUPS
blablabla...
blablabla...
blablabla...
Die 9 nach BEGIN_GROUPS heißt es folgen 9 Werte.
Danach kommen die Einzelnen Elemente. Die erste Zahl ist unwichtig, der Name danach ist das Element das ich brauche und die Zahl danach ist entweder 1 oder 2.
Die 1 sagt mir, das das Element in Gruppe 1 gehört und die 2 das es in Gruppe 2 gehört.
Also VOLUME = Gruppe 2.
Ich brauche die Elemente die ich dann auf die Gruppen aufteile.
Hoffe ihr könnt mir helfen!
Gruß Flo
Anzeige
AW: Begriff in Textdatei suchen und importieren
09.01.2007 21:50:01
Florian
Hat keiner ne Idee.
Muss das Problem unbedingt lösen!
Danke für eure Hilfe
Gruß Flo
AW: Begriff in Textdatei suchen und importieren
10.01.2007 10:46:54
Oberschlumpf
Hi Flo
Versuch es mal so:
https://www.herber.de/bbs/user/39537.xls
Voraussetzung:
Diese XL-Datei muss in dem Verzeichnis mit den asc-Dateien gespeichert werden.
Bis jetzt funktioniert es nur mit einer Datei.
Du musst in der OPEN-Zeile den Dateinamen anpassen.
Wenn du alles in einem Rutsch erledigen willst, dass also ale asc-Dateien auf einmal eingelesen und in den Spalten A + B eingetragen werden sollen, dann mzusst du das Makro anpassen.
Aber bei VBA = gut sollte das ja kein Prob sein, oder?
Ach ja, die Spalten A + B.
Ich habe sie jetzt mal verwendet, weil du - wie viele Andere - nicht genau angegeben hast, in welchen Spalten deine Werte abgelegt werden sollen.
Konnte ich helfen?
(Vielleicht nein, weil mein Makro Zeile für Zeile durchliest. Und bei bis zu 250.000 Zeilen dauert es vielleicht zu lange.
Wenn der Zeilenblock, der dich interessiert, größer ist als 65.536 Zeilen, dann wird das Makro wohl abbrechen, da pro Tabellenblatt nur 65.536 Zeilen zur Verfügung stehen)
Wenn etwas nicht funktioniert, dann beschreib bitte genau, in welcher Zeile der Fehler auftritt, und welche Fehlermeldung erscheint (Fehlertext - nicht nur die Nr)
Ciao
Thorsten
Anzeige
Oberschlumpf you made my day!!!
10.01.2007 11:12:52
Florian
Oberschlumpf you made my day!!!
Das ist ja ein Traum. Klappt einwandfrei. Muss jetzt nur noch den Code ein wenig anpassen, ist aber kein Problem.
Ich hab das auch schon mal mit "open ... for input as #1" probiert, aber ich weiß nicht was die Anweisung genau bewirkt, vor allen das #1 würde mich interessieren.
Wenn Du mir das noch kurz erklären könntest wärs perfekt.
Vielen, vielen Dank!!!
Gruß Flo
AW: Oberschlumpf you made my day!!!
10.01.2007 11:50:02
Oberschlumpf
Hi Flo
Na, freut mich doch, dass ich schon jetzt meine gute Tat für den Tag tat :-) - dann kann ich mich ja wieder hinlegen..grins
Der Open-Befehl öffnet eine Datei in einem bestimmten Modus
Input, Output, Append, Binary und Random
Input bedeutet, dass der Inhalt einer Datei eingelesen wird.
Und mit #n wird ein Index festgelegt.
Es kann ja sein, dass du im Code 2 Dateien per Input oder eines der anderen Modi öffnest.
Datei 1 wird dann mit #1 geöffnet und Datei 2 mit #2.
Das ist erforderlich, damit die Programmiersprache - hier VBA - "weiß", welche Datei gemeint ist.
Die # ist die eindeutige Kennzeichnung einer geöffneten Datei. Du kannst es mit der IP-Adresse eines jeden PC im Internet vergleichen. Auch eine IP-Adresse wird weltweit nur 1x vergeben, damit immer genau bekannt ist, welcher PC gemeint ist.
Die Erklärungen zu den anderen Modi kannst du dir unter dem Befehl "Open" in der Excel VBA-Hilfe durchlesen.
Konnte ich helfen?
Ciao
Thorsten
Anzeige
AW: Oberschlumpf you made my day!!!
10.01.2007 12:16:55
Florian
Klar konntest Du helfen.
Hab den Code jetzt noch nach meinen Bedürfnissen verändert, so dass die Dateiauswahl flexibel ist und noch ein paar Sachen und jetzt läuft die Sache einwandfrei!
Wegen mir kannst Dich wieder hinlegen ;-)
Vielen Dank
Gruß
Flo

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige