Zugriff auf Steuerelemente(per Code erstellt)

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Zugriff auf Steuerelemente(per Code erstellt)
von: Gunther
Geschrieben am: 01.03.2005 17:35:55
Hallo, ich habe folgendes Problem:
Ich habe eine userform komplett per code gelayoutet. die einzelnen elemente sind folgendermaßen zugefügt worden:
public sub userform_initialize()
dim knopf as control
set knopf = frame.controls.add("forms.optionbutton.1", "knopf", true)
with knopf
. (hier sind alle möglichen eigenschaften definiert)
end with
End Sub

ich kann jetzt allerdings auf diese so erstellten elemente, obwohl sie alle korrekt angezeigt werden (während der laufzeit), in keiner weise zugreifen.
weder funktionieren ereignisse mit diesen elementen, wie


Private Sub knop_click()
.caption = "bla"
End Sub

noch kann ich über ein grafisch definiertes objekt (etwa commandbutton1) darauf zugreifen.
Handelt es sich dabei um ein generelles Problem, oder habe ich einen relativ kleinen Fehler gemacht? Und wie könnte das gelöst werden?
Mit besten grüßen,
Gunther
Bild

Betrifft: ...add(..).name="Knopf1"
von: ransi
Geschrieben am: 01.03.2005 17:44:00
hallo gunther
versuchs doch mal so:
set knopf = frame.controls.add("forms.optionbutton.1", "knopf", true).name="Knopf1"
dann müsste theoretisch:

Private Sub Knopf1_click()
.caption = "bla"
End Sub

funktionieren
"theoretisch" weil ungetestet !!
ransi
Bild

Betrifft: AW: ...add(..).name="Knopf1"
von: Gunther
Geschrieben am: 01.03.2005 17:58:01
hallo ransi.
funktioniert leider nicht.
bei der eingabe von
set knopf = frame.controls.add("forms.optionbutton.1", "knopf", true).name="Knopf1"
bekomme ich die meldung "fehler beim kompilieren - objekt erforderlich"
aber danke schon mal,
gunther
Bild

Betrifft: AW: ...add(..).name="Knopf1"
von: Bert
Geschrieben am: 01.03.2005 20:58:09
Controls, die zur Laufzeit erstellt werden, können Ereignisse nur in Klassenmodulen
ausführen. Such mal in der Recherche, dort gibts Beispiele dazu.
Bert
Bild

Betrifft: AW: ...add(..).name="Knopf1"
von: Gunther
Geschrieben am: 02.03.2005 09:15:04
Danke Bert,
war die Antwort, die ich gesucht habe.
Muss dann nur noch den Zugriff versuchen zu regeln.
Ciao,
Gunther
Bild

Betrifft: AW: ...add(..).name="Knopf1"
von: Gunther
Geschrieben am: 03.03.2005 09:54:14
Irgendwie hat es jetzt doch ohne Auslagerung in eine Klasse funktioniert.
Habe einfach über withevents objekt as objecttype
jede potentiell generierte schaltfläche vor dem
userform_initialize angesprochen und:
alles ist komplett verfüg- und ansprechbar.
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zugriff auf Steuerelemente(per Code erstellt)"