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

ActiveControl in Frames ansprechen

ActiveControl in Frames ansprechen
20.07.2004 08:48:37
Simon
Ich möchte der Einfachheit halber eine Textbox mittels ActiveControl ansprechen. Die Textbox befindet sich in mehreren verschachtelten Frames:
TextBox in Frame1
Frame1 in Frame2
Frame2 in Frame3
Jetzt muss ich jedesmal durchreferenzieren
dim tb as control
set tb = Frame3.Frame2.Frame1.ActiveControl
Wenn ich nicht durchreferenziere ist das ActiveControl immer Frame3 obwohl die Textbox den Fokus hat. Setze ich die Tabeigenchaft der Frames auf Fase so wird das ActiveControl zu Nothing.
Muss ich immer durchreferenzieren oder geht das auch einfacher ? Wenn nicht muss ich meine gesamten Frames entfernen (die nur zur Übersichtlichkeit dienen) da ich die Prozedur allgemein einsetzen will.
Danke und schöne Grüße Simon

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ActiveControl in Frames ansprechen
20.07.2004 11:13:30
peh
Hi,
teste mal:
Dim oControl As Object
Set oControl = ActiveControl
On Error GoTo Fehler:
While oControl.Controls.Count > 0
Set oControl = oControl.ActiveControl
Wend
Fehler:
MsgBox oControl.Name

Wobei der Sinn mir nicht ganz klar wird.
Besser ist es wahrscheinlich mit einer Collection zu arbeiten
oder im Enterereignis des Controls das Objekt zu setzen.
Gruß Peter
Anzeige
AW: ActiveControl in Frames ansprechen
20.07.2004 12:37:41
Simon
Hallo Peh !
Danke erstmal, werds heute abend testen.
Der Sinn ist folgender:
Ich will zur Fehlerbehandlung eine allgemein anwendbare Routine, in der ich den Inhalt von Textboxen leicht prüfen und wenn nötig korrigieren kann.
z.B.:
If ActiveControl.Value = "" Then ActiveControl.Value = 0
Damit der User nicht Textboxinhalt löschen und anschließen nutzlose Daten irgendwohin übertragen kann. Sicher könnt ich die Sache auch in der Datenübertragungsprozedur abfangen aber worum nicht gleich falsche Eingaben verhindern ?
Nochmals Besten Dank und schönen Gruß
Simon
AW: ActiveControl in Frames ansprechen
Simon
Hallo Peh !
Ich habs:
Private Sub TextBox1_Change() On Error GoTo schachtel Dim tb As Control Set tb = ActiveControl weiter: If tb.Value = "" Then tb.Value = 0 Exit Sub schachtel: Set tb = tb.ActiveControl GoTo weiter End Sub
Gruß Simon
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige