Herbers Excel-Forum - das Archiv
Klassenfunktion LostFocus() gesucht
Informationen und Beispiele zu den hier genannten Dialog-Elementen:

|
Betrifft: Klassenfunktion LostFocus() gesucht
von: Jörg Schreiber
Geschrieben am: 29.09.2003 08:33:13
Trotz vieler Ideen komme ich nicht von der Stelle:
Ich habe eine Klasse definiert, bei der alle im Worksheet vorkommenden Textboxen im Worksheet auf eine Änderungen reagieren (als Beispiel eine MsgBox, wo der Name der Textbox ausgegeben wird, bei der die Aenderung vorgenommen wird). Das Ganze laeuft einwandfrei mit Textbox_Change(). Ziel des Ganzen ist es, dass ich allen Textboxes, esrt dann wenn sie bearbeitet wurden, automatisch das Datum der Bearbeitung ergaenzen moechte.
Textbox_Change() nervt mich natuerlich nach jedem eingebenen Buchstaben. Soll er aber nicht, sondern nur, wenn ich das Textfeld verlasse, sprich, den Fokus woandershin plaziere.
Auf Modulebene hilft mir Textbox_LostFocus() aus der Klemme, was wunderbar funktioniert. In der Klassenmodulebene gibt es jedoch die Funktion LOST_FOCUS nicht als Standardereignis.
Weiss jemand, wie ich meiner Klasse beibringe, einen einen Lost_Focus() zu kennen. Kann man wohlmoeglich das Ereignis ergaenzend zur Fuss definieren - wenn ja, wie?

 |
Betrifft: AW: Klassenfunktion LostFocus() gesucht
von: GerdW
Geschrieben am: 02.10.2003 00:11:10
Das hast du ja nun schon öfter ohne Erfolg gefragt. Vielleich wäre es
besser, du beschreibst mal, was du eigenlich erreichen willst, ggf. gibts eine andere Lösung.
Gerd
Betrifft: AW: Klassenfunktion LostFocus() gesucht
von: Jörg Schreiber
Geschrieben am: 02.10.2003 06:32:57
hm, da ist schon was dran, allerdings faellt es mir schwer, das problem noch besser zu umschreiben. also, neuer Versuch:
ich habe ein worksheet mit Datengruppen ueber mehrere Zeilen, die sich jeweils immer aus einem Datenkopf (2 Zeilen inkl. einer Textbox) und einer variablen Anzahl von Vorgaengen (je 1 Zeile) zusammensetzen. Ueber ein Menue kann man eine neue Datengruppe (2 Kopfzeilen, 1 blank Vorgangszeile) an beliebiger Stelle ergaenzen. Dementsprechend muss auch jeweils wieder eine Textbox generiert und ergaenzt werden.
Die Textboxen dienen zur Eingabe von Kommentaren, die ich nun automatisch um das Eintragsdatum ergaenzen moechte, damit man es zu Dokumentationszwecken nachvollziehen kann. Dieses Datum moechte ich automatisch bei Eingabeende, also Verlassen einer Textbox, hinzufuegen lassen. Um das Problem zu erschlagen, habe ich eine Klasse angelegt, die alle im Worksheet vorkommenden Textboxen (auch die neuen) gleich reagieren laesst. Hier boete sich das Ereignis LostFocus() an, was das Klassenmodul aber nicht hergibt. Sprich mit Textbox1_LostFocus(), Textbox2_LostFocus(),... funktionierts praechtig, aber da bleiben 1. die neuen Textboxen auf der Strecke und 2. ist das eine Riesen-Codewurst.
Ich hoffe, jetzt ist's klarer...