Hallo Laika,
was genau willst du tun, die UF per Vba zur Entwicklungszeit
erstellen oder zur Laufzeit?
Zur Laufzeit. Ich könnte natürlich, wenn das einfacher ist,
eine einfache UF konstruieren, diese dann zur Laufzeit
entsprechend erweitern.
ich würde das letztere tun. Aus leidvollen Erfahrungen.
Zur Laufzeit erstellte UFs und ihre Elemente haben seltsame Nebenwirkungen, quasi Kolateralschäden
Ein Beispiel, du hast da einen CommandButton, den klickst du an oder simulierst das per Code, Im Click-Ereignisses des CommanButton steht
Application.EnableEvenst=false
'Code
Application.EnableEvenst=true
EnableEvents wirkt da Pustekuchen, einige Events werden ungewollt trotzdem durchlaufen. Okay, schrieb ich jetzt aus der Erinnerung,
mag manches nicht so richtig sein aber Fakt bleibt dadurch daß
ich seinerzeit die UF und ihre Elemte zur Laufzeit erstellt hatte
ergaben sich Schwierigkeiten.
Äh, damit will ich keinesfalls gesagt haben daß ich nicht eine UF
auch zur Laufzeit erstelle, seinerzeit war das schon heftiger Code
mit mehreren UFs und insgesamt rel. komplex.
An deiner Stelle würde ich wie schon von dir angedacht eine UF
erstellen und mal hochladen, wenn Code für die Dateien dabei ist den auch, aber ist egal.
Wenn das da max. 20 OBs gibt, okay ist so die Grenze, das könntest du
noch manuell tun alle zu plazieren.
D,h. die UF so groß machen daß alle draufpassen.
Dann wenn du zur Laufzeit weißt wieviele dateien du da hast
setzt du die nicht benötigten OBs auf .visible=false.
Ggfs. noch dazu passend die UF-Höhe verringern.
Z.Zt. habe ich eine mit 12 OB, belege nur die entsprechend er
Anzahl vorhanderner Filmdateien, wenn dann eine nicht belegte
angeklickt wird, geht’s eben ins Leere - geht auch, ist aber
nicht so schön.
Alternativ, die nicht benötigten auch immer sichtbar lassen aber mit .Enabled auf false setzen.
Gruß
Reinhard