VBA - vadības dinamiskas pievienošana lietotāja formā

Lai izveidotu atbalstu šim demonstrējumam, mēs izmantojām kalkulatora piemēru, bet šoreiz dinamiski izveidojot visas kontroles.

Izveidojot vadīklas dinamiski lietotāja profilā, Excel neatpazīst vadības ierīču nosaukumus. Tas nozīmē, ka notikumi, kas radušies jūsu vadības ierīču un to īpašību dēļ, nebūs pieejami ar piešķirto nosaukumu palīdzību. Piemēram, ja izveidojat pogu ar šādu kodu:

Iestatiet Bouton = Me.Controls.Add ("Forms.CommandButton.1", "Bt" & i, True)

Pogas nosaukums būs (gadījumā, ja i = 1) BT1

Bet privātais sub BT1_Click () notikums nekad netiks radīts. Lai rīkotos ar šo jautājumu, jūs izmantojāt objektu kolekcijas notikumu īpašībām un klasēm. Objektu kolekcijas ne tikai satur kontroli, bet arī to, kā to izmantot. Konfigurējot tagu īpašību kontrolierīcēm ar vēlamo indeksu, klases kolekcija var atgriezt indeksu, kas arī ļauj jums zināt, kura kontrole ir notikuma priekšmets.

UserForm dizainā nav nekādas kontroles. Visas vadīklas tiek dinamiski izveidotas, ieskaitot karkasu konteineru. Demo arī dod iespēju iekļaut pogas rāmjos

Lejupielādēt:

1. serveris: pievienojiet Control UserForm.xls

Iepriekšējais Raksts Nākamais Raksts

Top Padomi