Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1304to1308
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
Werte in Textdatei erkennen
26.03.2013 08:30:44
Dusan
Hallo zusammen,
habe letztens tolle Hilfe hier bekommen. Jetzt hänge ich wieder fest. Und zwar, ich habe eine Maske aufgebaut die Werte aus einer Textdatei einliest(Werte stehen in einer Reihe) und jeden einzelnen Wert in dazuzugewiesenen Textbox anzeigt. In Textboxen kann der Wert geändert werden und dann wieder alles in die gleiche Textdatei(alle Werte wieder in einer Reihe) gespeichert. Das läuft sehr gut.
Nur, das Problem ist dass ich die Werte mit einem festem Abstand (der aus 2 Leerzeichen besteht) in der Textdatei getrennt habe. In der Textdatei, die wirklich später genutzt werde soll sind Werte dynammisch getrennt. So sieht es aus:
z.B. 1.000 2.000 (5 Leerzeichen Abstand)
1.000 22.000 (4 Leerzeichen Abstand)
1.000 222.000 (3 Leerzeichen Abstand)
usw.
Also, ich brauche ein Code, der das erkennt und die Werte einliest. Da ich aber neu in vba programmierung bin, ist das für mich ziemmlich umbekannt.
Danke im Voraus
Dusan

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte in Textdatei erkennen
26.03.2013 08:36:00
Oberschlumpf
Hi Dusan
Hmm...und was sollen wir jetzt tun?
Vielleicht ist es für mich noch zu früh, aber zumindest ich hab noch nicht ganz verstanden, wieso es wichtig ist, dass die Inhalte in der txt-Datei mal 3,4 oder 5 Leerzeichen beinhalten.
Schön wäre es, wenn du uns Bsp-Dateien mit Bsp-Daten sendest.
1x Bsp-txt-Datei, 1x Bsp-Excel-Datei
Aber vielleicht ist ja auch wer anders schneller schlauer als ich ;-)
Ciao
Thorsten

AW: Werte in Textdatei erkennen
26.03.2013 09:34:48
Dusan
Hallo Thorsten,
das Programm, welches die Werten später aus der Textdatei einliest, liest die so. Meine Maske dient nur dazu, einen oder anderen Wert zu ändern und dann wieder die gleiche Textdatei mit genau gleichen Abstand zwischen Werten rauszugeben. Hier nochmal die Textdatei und die Exceldatei:
https://www.herber.de/bbs/user/84547.dat

Die Datei https://www.herber.de/bbs/user/84548.xls wurde aus Datenschutzgründen gelöscht


Gruß
Dusan

Anzeige
AW: Werte in Textdatei erkennen
26.03.2013 13:35:32
Oberschlumpf
Hi Dusan
Erst mal vielen Dank für die Bsp-Dateien.
Aber zu denen hab ich noch ein paar Fragen.
Die Eingabemaske in Excel hat insgesamt 55 Textfelder (oben die Felder 0 + 00 + 000 + usw und unten dann 1 - 50)
In der dat-Datei sind aber insgesamt nur 26 Werte gespeichert.
1. Ist der Grund dafür, dass du einfach nur keine Lust mehr hattest, die restlichen 29 Einträge auch noch in die dat-Datei einzutragen?
2. Oder soll das so sein? Es kann also sein, dass in der dat-Datei mal mehr, mal weniger Werte drin stehen?
Wenn 1. richtig ist, dann trag die fehlenden Werte bitte nach, da ich ja VOR dem Programmieren wissen muss, wie groß JEDER Leerzeichenabstand ist.
Wenn 2. richtig ist, wie soll Excel dann wissen, wie groß die Leerzeichenabstände sind, wenn noch weitere Werte in die dat-Datei hinzukommen?
Außerdem werden beim Einlesen die Werte aus der dat-Datei nicht genau in die Textfelder geschrieben, für die sie wohl vorgesehen sind.
Z Bsp gleich der erste Wert = "kommt in 0" steht in der Maske nicht im Feld 0, sondern im Feld 1.
Wieso ist das so?
Ciao
Thorsten

Anzeige
AW: Werte in Textdatei erkennen
26.03.2013 15:07:24
Dusan
Hi Thorsten,
erstmal danke dass du dich mit meinem Problem beschäftigst.
Da war wohl irgendwas falsch an der Textdatei, sorry. Hier neue Textdatei (in der sollen insgesamt 55 Werte drin sein).
https://www.herber.de/bbs/user/84552.dat
Kurze Erklärung zum Inhalt der Datei:
bBe850/12,5-32m114 kommt in TextBox51
s00113 kommt in TextBox52
SDA BentleyKarson kommt in textBox53
4210kW cos 0.95 kommt in TextBox54
AuSpSynGen 1130/925 kommt in TextBox55
danach kommen die Werte reihenach in die Textboxen von 1 bis 50.
Zur 1.
Die Datei soll zuerst 55 Werte haben, aber sehr wahrscheinlich soll ich die später um 20 extra Werte erweitern.
Das Einlesen ist auch mein Hauptproblem. Ich habe es so programmiert dass nach 2 Leerzeichen ein Wert gelesen wird. Aber bei dieser Datei ist das nicht der Fall. Hier hängt der Abstand von Anzahl der Ziffern vor dem Punkt der folgenden Zahl. Bsp:
1. Zahl: 1.000
2. Zahl: 2.000
Abstand zwischen 1.Zahl und 2.Zahl: 5 Leerzeichen
wenn aber:
1.Zahl: 1.000
2.Zahl: 22.000
Abstand: 4 Leerzeichen
Ist in der Datei zu Erkennen.
Sinn an ganzer Sache ist dass ich durch die Maske ein oder anderen Wert leicht finden und ändern soll. Dabei wird auch auf den Abstand geachtet, spricht:
wenn ich anstatt 2.000 3.000 schreibe bleibt der Abstand gleich(5 Leerzeichen)
wenn ich aber anstatt 2.000 33.000 schreibe ist der Abstand jetzt 4 Leerzeichen
Alles das weil die Textdatei als Eingabedatei in einem anderen Programm verwendet wird und der die genau so einliest.
Gruß
Dusan

Anzeige
AW: Werte in Textdatei erkennen
26.03.2013 16:31:17
Oberschlumpf
Hi Dusan
Ja, danke für die Erklärungen.
Ich versuche, heute + in den folgenden Tagen da mal was zu basteln - jeder andere Antworter kann natürlich auch sein Glück versuchen.
Ich weiß aber nicth, ob ich heute noch Zeit dazu finden werde.
Bis später
Thorsten

AW: Werte in Textdatei erkennen
27.03.2013 08:25:42
Dusan
Danke Thorsten!
Ich werde auch weiter versuchen selber es zu lösen. Mal sehen ob es mir gelingt. Vllt in der Zeit schafft ein anderer auch eine tolle Lösung zu schreiben.
Gruß
Dusan

AW: Werte in Textdatei erkennen
27.03.2013 08:46:38
Oberschlumpf
Hi Dusan,
so, hier erst mal nur ein "Zwischenergebnis", was das korrekte Einlesen in die Maske betrifft.
https://www.herber.de/bbs/user/84558.xls
Probier es mal aus und lies dir auf jeden Fall auch meine Anleitung im Blatt Anleitung durch.
Was das Zurückschreiben betrifft, müssen wir beide noch etwas basteln.
Ich warte erst mal auf deine Rückmeldung(en).
Bist du denn mit dem Einlesen so erst mal zufrieden?
Ciao
Thorsten

Anzeige
noch offen owT
27.03.2013 08:50:45
Oberschlumpf

AW: noch offen owT
27.03.2013 09:13:52
Dusan
Guten morgen Thorsten,
wauuu! Das sieht beim ersten Blick super geil gut! :)
Einlesen ist perfekt.
Die Idee, wie Speichern gehen soll finde ich auch toll.
Danke nochmal!
Gruß
Dusan

weiterhin offen
27.03.2013 18:21:47
Oberschlumpf
Hi Dusan
Ich muss wohl noch mal von vorn beginnen - auch das Lesen der dat-Datei + Eintragen in der Maske.
da ich damit sehr lange nichts zu tun hatte, hab ich erst heute erkannt, dass es sich bei der dat-Datei um eine sogenannte Typisierte Datei, auch Random-Datei, handelt.
Was genau das ist, kannst du hier nachlesen:
http://www.activevb.de/tutorials/tut_rdmfiles/rdmfiles.html
Das erklärt nun auch, wieso zwischen den Einträgen unterschiedlich viele Leerzeichen stehen.
Kurz erklärt:
Zwischen dem 1. und 2. Eintrag in der dat-Datei sind 2 Leerzeichen.
Zwischen dem 2. und 3. Eintrag in der dat-Datei sind 14 Leerzeichen.
Wenn du mal für jeden Eintrag (1-3) alle Zeichen - inklusive nicht Leerzeichen - so lange zählst, bis der nächste Eintrag beginnt, wirst du feststellen, dass jeder Eintrag für sich inklusive Leerzeichen 20 Zeichen lang ist. Hat ein Eintrag weniger als 20 Zeichen, werden diese durch Leerzeichen aufgefüllt.
Das bedeutet, jeder dieser drei Einträge kann also maximal 20 Zeichen aufnehmen.
Dies musst du übrigens auch berücksichtigen, wenn du in der Maske Änderungen vornimmst.
Pro Textfeld dürfen nicht mehr Zeichen eingegeben werden, als in der dat-Datei dafür reserviert werden.
Für alle Zahlenwerte gilt übrigens: Nicht mehr als 10 Zeichen pro Zahlenwert.
Mir fällt gerade auf, dass ich eigentlich das Einlesen der Datei nicht neu programmieren müsste, werde es aber trotzdem tun, damit ich eine "saubere" Programmierung hinbekomme.
Nun denn, du musst dich also noch ein wenig gedulden.
Ach so, du erwähntest ja, dass es sein kann, dass die dat-Datei um 20 weitere Felder erweitert werden soll.
Wenn es so weit ist, musst du meinen Code - wenn er denn fertig ist - etsprechend anpassen.
Viel Erfolg dabei :-)
So, ich versuch jetzt noch ein wenig mein Glück.
Ciao
Thorsten

Anzeige
oder vielleicht auch nich mehr offen
27.03.2013 18:38:09
Oberschlumpf
Hi Dusan
Zufällig stellte ich gerade eben fest, dass du deine Frage auch noch in einem anderen Forum gestellt hast, siehe hier:
http://www.office-loesung.de/ftopic584948_0_0_asc.php
Und diese Frage hast du zu einem Zeitpunkt gestellt, bei dem ich schon mitten drin war, eine Lösung für dich zu suchen.
Schade, so etwas nennt man Cross-Posting - und du hältst es nicht mal für nötig, mich hier darüber zu informieren...grrrrrrrr
Wenn ich dir zu langsam bin...grrr...aber gratis darf es ruhig sein, oder?!!?, dann viel Erfolg im anderen Forum.
Ich werde nun erst mal was essen.
Und ich werde vielleicht auch weiter nach einer Lösung für dich suchen. Aber ich denk, ich muss mich nun nicht mehr soooo beeilen. Ich hab nach Ostern 2 Wochen Urlaub. Vielleicht guck ich dann noch mal.
Wäre natürlich blöd, wenn deine Frage in diesem Forum dann schon im Archiv verschwunden ist...
Ciao
Thorsten
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige