VBA - dynamické pridávanie ovládacích prvkov do používateľského formulára

Ak chcete vytvoriť podporu pre toto demo, použili sme príklad kalkulačky, ale tentoraz sme vytvorili všetky ovládacie prvky dynamicky.

Keď vytvoríte ovládacie prvky dynamicky na Userform, Excel nerozpozná názvy ovládacích prvkov. To znamená, že udalosti vytvorené ovládacími prvkami a ich vlastnosti nebudú prístupné prostredníctvom priradených mien. Ak napríklad vytvoríte tlačidlo s nasledujúcim kódom:

Nastaviť Bouton = Me.Controls.Add ("Forms.CommandButton.1", "Bt" & i, pravda)

Názov tlačidla bude (v prípade, že i = 1) BT1

Ale udalosť Private Sub BT1_Click () nikdy nebude vygenerovaná. Na riešenie tohto problému ste použili kolekcie objektov pre vlastnosti a zbierky tried pre udalosti. Kolekcie objektov obsahujú nielen ovládací prvok, ale aj kľúč na jeho označenie. Konfiguráciou vlastnosti Tag ovládacích prvkov s požadovaným indexom môže kolekcia tried vrátiť index, ktorý tiež umožňuje vedieť, ktorá kontrola bola predmetom tejto udalosti.

Neexistuje žiadna kontrola v dizajne UserForm. Všetky ovládacie prvky sú dynamicky vytvárané kalkulačkou, vrátane kontajnera s rámami. Demo tiež poskytuje spôsob, ako začleniť tlačidlá do rámcov

Stiahnuť ▼:

Server 1: Pridať ovládací prvok UserForm.xls

Predchádzajúci Článok Nasledujúci Článok

Najlepšie Tipy