Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1772to1776
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
Texteingabe im Textfeld aufzeichnen
30.07.2020 13:30:07
Mario
Hallo Forums-Gemeinde!
Ich bräuchte einen Tipp, bzw. Unterstützung von euch!
Ich habe ein Excel Arbeitsblatt, auf diesem sind mehrere Textboxen angeordnet. Im Moment wird folgendes gemacht.
Wird in die Textbox geklickt (GotFocus) wird der Textinhalt in eine Zelle geschrieben, die Anzahl der Stellen ermittelt, ...
Jetzt wird ein neuer Text in diese dazu geschrieben und beim verlassen (Lost Focus) wieder der Textinhalt und die Anzahl der Stellen in Zellen geschrieben. Danach erfolgt ein Abgleich und somit ermittle ich den eben eingegebenen Text in dieser Textbox für ein Protokoll.
Gestern Abend wurde dann ein Text zwischen schon vorhandenem Text eingefügt und somit kommt bei meiner Texteingabeermittlung natürlich was falsches raus ;)
Nun meine Frage gibt es hierzu eine Möglichkeit die Texteingabe zwischen GotFocus und LostFocus aufzuzeichnen?
Wie gesagt es geht um die Protokollierung der Eingaben. Den ganzen Textinhalt in das Protokoll zu schreiben wäre auch eine Lösung, nur ist dann das Protokoll ziemlich schwer zu lesen.
Vilen Dank für eure Denkansätze!!
LG
Mario

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Texteingabe im Textfeld aufzeichnen
30.07.2020 14:20:10
Daniel
HI
du hast die Events KeyUP und KeyDown bzw KeyPress
diese werden ausgelöst, wenn die TextBox aktiv ist und eine Taste auf der Tastatur gedrückt wird.
In KeyPress kannst du den Ascii-Code des eingegbenen Zeichen abfragen.
Mit KeyUp und KeyDown die Codenummer der gedrückten Taste, dh du hast auch Cursorbewegungen oder Vorgänge wie Einfügen und Löschen mit im Protokoll. Auch die Verwendung von Shift oder STRG kannst du abfragen, damit hättest du ein vollständiges Protokoll.
der Unteschied zwischen KeyUp und KeyDown ist, dass KeyDown passiert vor der Eingabe, das KeyUp nach der Eingabe.
schwierig wird's, wenn der Anwender Copy-Paste verwendet und das vielleicht auch noch mit der Maus.
da kann man dann nur über das Change-Event den Inhalt mit protokollieren.
Gruß Daniel
Anzeige
AW: Texteingabe im Textfeld aufzeichnen
30.07.2020 15:31:44
Mario
Hallo Daniel,
danke für deine Antwort! ;)
Die Events kenne ich nur wenn es um die Abfrage von bestimmten Tasten-Eingaben geht.
Was ich jetzt nicht so ganz verstehe ist, wie kann ich da eine ganze Texteingabe aufzeichnen und den Klartext in eine Variable oder Zelle hinein schreiben?!?!?!
Mario
AW: Texteingabe im Textfeld aufzeichnen
30.07.2020 17:03:37
Daniel
Hi
du könntest die eingetippten Zeichen einer Modulweit gültigen Variablen hinzufügen (Deklaration direkt im Modul oberhalb der Makros, diese Variablen können in allen Makros verwendet werden und behalten ihre Werte.)
und dann am Schluss (LostFocus) diese Zeichen in eine Zelle schreiben.
Gruß Daniel
Anzeige
AW: Texteingabe im Textfeld aufzeichnen
31.07.2020 08:44:01
Mario
Hallo Daniel,
soweit mal klar.
Beginn mit GotFocus, wenn Variable nach LostFocus leer, dann Exit.
Wenn Variable ungleich "", dann in Zelle schreiben.
Kannst du mir nur noch ein Beispiel schreiben, wie ich die Zeichenfolge mit KeyUp in die Variable bekomme, da wär ich dir sehr dankbar.
LG
Mario
AW: Texteingabe im Textfeld aufzeichnen
31.07.2020 08:50:58
Daniel
Zum Aufzeichnen der Zeichen besser das Event KeyPress nehmen
Variable = Variable & Chr(KeyAscii)
Gruß Daniel
AW: Texteingabe im Textfeld aufzeichnen
31.07.2020 11:33:28
Mario
Hallo Daniel,
toll es funktioniert!!!! ;) ;)
Eine Frage noch dazu, vielleicht kannst du mir da auch helfen, ob es da was gibt?!?!
Ich gebe in das Textfeld "Hakko" anstatt "Hallo" ein, komme aber während dem schreiben auf den Fehler drauf.
Eingabe ist dann folgendermaßen: H;a;k;k;Backspace;Backspace;l;l;o
Der Variablenwert soll dann natürlich Hallo sein.
Danke, dir!!
LG
Mario
Anzeige
AW: Texteingabe im Textfeld aufzeichnen
31.07.2020 11:40:41
Daniel
Hi
jetzt käme KeyUP bzw KeyDown ins Spiel.
hier müsstest du dann im Prinzip jede Aktionstaste abfragen (Backspace, Del, Einfügen, Cursor) und diese Aktion dann in deinem Aufzeichnungsstring nachvollziehen.
Wird etwas aufwendig zu programmieren
Wenn der Anwender die Korrekturen mit der Maus ausführt, bekommst du es auch nicht mit.
Gruß Daniel
AW: Texteingabe im Textfeld aufzeichnen
31.07.2020 12:59:09
Mario
Hallo Daniel,
das mit Backspace hab ich schon mal drinnen.
leider finde ich für del keinen Chr Wert und auch keine vbKey Konstante
Was hat diese für eine Bezeichnung?
Denke, so kann ich das dann fertig stellen und erweitern! Vielen Dank nochmal für deine Unterstützung, echt Klasse!!! ;)
Danke, LG
Mario
Anzeige
AW: Texteingabe im Textfeld aufzeichnen
31.07.2020 13:29:59
Daniel
Ich wüsste auch nicht, dass es für Del ein Zeichen gibt.
Du müsstest dann das richtige Zeichen aus dem Aufzeichnungsstring entfernen.
Die KeyCodes kannst doch einfach selber rausfinden.
Bau dir dazu eine TestTexbox und lass dir im KeyDownEvent per Messagebox den Wert ausgeben.
Gruß Daniel
AW: Texteingabe im Textfeld aufzeichnen
31.07.2020 19:47:17
Mario
Hallo Daniel,
so ein bisschen hab ich mal gespielt damit. Mit Backspace geht's, wenn das letzte Zeichen betroffen ist. Delete hat die Nr. 46.
Aber ja, du hast recht so einfach ist das nicht die korrekte, letztendliche Eingabe (nach ev. Fehlerkorrekturen) zu erfassen. Das geht leichter mit meiner ursprünglichen Methode. Da haperts dann dafür an der Eingabeposition, wenn diese nicht am Ende stattfindet! :(
Naja, da muss ich dann abwägen, was besser ist für die Protokollierung!
Vielen Dank für deine Unterstützung!
LG
Mario
Anzeige

44 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige