VBA lietotāja veidlapu izveide

VBA Userforms

Userform ir ļoti svarīga VBA programmēšanas sastāvdaļa. Tas ļauj jums izveidot profesionāla izskata lietotāja interfeisu, lai sazinātos ar jūsu VBA lietojumprogrammas lietotājiem. Tas arī ļauj pilnībā kontrolēt lietotāju, ko viņš dara ar jūsu darbgrāmatu.

Jūs, protams, varat izmantot darblapas šūnas, lai no lietotāja pieņemtu parametrus, taču lietotāja veidlapa rada daudz labāku lietotāja pieredzi.

Paplašinot lietotāja formas augstumu un platumu līdz Excel loga izmēram, jūs varat padarīt savu lietojumprogrammu līdzīgu parastajai Windows lietojumprogrammai, lietotājam pilnīgi nezinot, ka viņš izmanto Excel kā saimniekdatoru.

Jums ir pieejamas visas parastās Windows vadīklas, piemēram, nolaižamās izvēlnes, sarakstu lodziņi un izvēles rūtiņas. Jums ir arī milzīgs metožu, notikumu un rekvizītu klāsts, ko izmantot, lai uzlabotu lietotāju pieredzi.

Svarīgs punkts ir tas, ka, parādot iebūvētu vai modālu lietotāja formu, jūs nevarat rediģēt savu kodu VBE un piekļūt nevienai Excel funkcionalitātei. Tikai tad, kad veidlapa ir aizvērta, kursors parādīsies jūsu kodā.

Iebūvēta VBA Userforms

Excel VBA kā vairākas iebūvētas formas, kuras var izmantot, lai sazinātos ar lietotāju.

Ziņojumu lodziņš

Šī ir visbiežāk izmantotā forma VBA. Tas vienkārši parāda īsziņu, iespējams, informējot lietotāju, ka viņš ir ievadījis nederīgu ievadi vai ka VBA process ir pabeigts. Vienkāršākajā veidā tie parāda teksta virkni, taču varat pievienot arī ikonu, piemēram, jautājumu vai izsaukuma zīmi, un ziņu lodziņam piešķirt citu nosaukumu.

Šis ir pamata piemērs. Ir tikai viena poga, uz kuras noklikšķināt, un virsrakstjoslā ir rakstīts “Microsoft Excel”

Kods, kā to izveidot, ir ļoti vienkāršs:

123 ApakšpārbaudeMsgBox ()MsgBox "Šis process ir pabeigts"Beigu apakš

Varat izmantot dažādus parametrus, lai pievienotu pogas, ikonas un mainītu virsrakstjoslu

123456789 ApakšpārbaudeMsgBox ()Dim Ret kā variantsRet = MsgBox ("Vai esat pārliecināts?", VbYesNo Vai vbQuestion, "Mana lietojumprogramma")Ja Ret = vbJā Tad'Jūsu process šeitCitādiIziet no apakšnodaļasBeigas JaBeigu apakš

Šis kods pievieno pogas “Jā” un “Nē” un jautājuma zīmes ikonu un nosaka virsrakstjoslu. Ņemiet vērā, ka varat apvienot ziņojumu lodziņa stilus, izmantojot operatoru “Vai”

Turklāt, atgriežot vērtību no ziņojumu lodziņa, atgriešanās mainīgais ir jādefinē kā variants vai vbMsgBoxResult, un ziņojuma lodziņa paziņojumā ir jāizmanto iekavas,

Ievades kaste

VBA ir iebūvēts ļoti vienkāršs ievades lodziņš, lai gan tas ir diezgan ierobežojošs attiecībā uz to, ko ar to var darīt. Ja varat, labāk ir izveidot pielāgotu lietotāja formu

12345 Sub TestInputBox ()Dim Ret kā virkneRet = InputBox ("Lūdzu, ievadiet savu vārdu", "Ievadiet vārdu")MsgBox RetBeigu apakš

Parametros varat pievienot arī ievades noklusējuma vērtību.

Iegūstiet atvērtā faila nosaukumu

Tas ļauj izmantot Windows faila dialoglodziņu VBA kodā. Lietotājam tas izskatās ļoti iespaidīgi, kad tas darbojas, taču to ir ļoti vienkārši iekļaut, un jūs automātiski iegūstat visas failu dialoga funkcijas.

Kods ierobežo lietotājam tikai Excel failus. Diemžēl viņi varēja ierakstīt faila nosaukumu, kas nav Excel, lodziņā Faila nosaukums un noklikšķiniet uz pogas Atvērt, tāpēc jums būs nepieciešams kods, lai pārliecinātos, ka ir atlasīts Excel fails.

Pirms faila dialoglodziņa parādīšanas izmantojiet komandu “ChDir”, lai mainītu noklusējuma direktoriju atbilstoši savām prasībām

Ievērojiet aizstājējzīmju izmantošanu parametrā FileFilter. Parādāmie Excel faili varētu būt pirms 2007. gada, tiem būtu makro vai tie būtu bināri, tāpēc filtrs ir “.xls*”.

123456 Sub TestFileDialog ()Dim MyFile kā virkneChDir "C: \ temp"MyFile = Application.GetOpenFilename ("Excel faili (*.xls*),*. Xls*", "Atlasīt failu")MsgBox MyFileBeigu apakš

Ja nepieciešams, varat ļaut lietotājam vienlaikus atlasīt vairākus failus, izmantojot parametru MultiSelect. Noklusējums ir False (tikai vienai atlasīšanai)

12345678 Sub TestFileDialog ()Dim MyFile kā variantsChDir "C: \ temp"MyFile = Application.GetOpenFilename ("Excel faili (*.xls*),*. Xls*", "Atlasīt failu",, True)Katram f MyFileMsgBox fNākamais fBeigu apakš

Lai atlasītu vairākus failus, lietotājs failu dialoglodziņā tur nospiestu taustiņu Shift.

Katrai cilpai tiek parādīts katra izvēlētā faila pilns ceļš un nosaukums

Excel noklusējuma dialoglodziņi

Programmā Excel VBA ir dialoglodziņu kolekcija, kuru varat izmantot, lai parādītu jebkuru standarta Excel dialoglodziņu. Negatīvie ir tas, ka jūs nevarat piekļūt parametriem, kurus lietotājs ir izvēlējies, vai mainīt dialoglodziņa izskatu, taču šie dialogi var būt noderīgi, lai novirzītu lietotāju uz standarta Excel funkciju un ļautu viņiem izvēlēties konkrētus parametrus dialoglodziņā.

Labs piemērs tam ir parādīt dialoglodziņu “Drukāt” no VBA:

123 Sub TestPrintDialog ()Application.Dialogs (xlDialogPrint). ParādītBeigu apakš

Atverot iekavās Dialogs kolekcijā, jūs redzēsit sarakstu ar milzīgu skaitu konstantu iebūvētiem dialogiem. Ir vērts eksperimentēt ar dažām no šīm iespējām savā kodā

Jauna lietotāja veidlapas ievietošana

Jūs varat izveidot savas pielāgotās lietotāja veidlapas, ievietojot lietotāja veidlapu Visual Basic Editor (VBE)

Lai to izdarītu, atlasiet Ievietot | UserForm VBE izvēlnes joslā.

Noklikšķiniet uz “UserForm”, un tiks parādīta jauna tukša veidlapa, kurā varēsit attīstīties

Pati faktiskā veidlapa (parādīta kā “UserForm1”) izskatās diezgan maza, taču jūs varat izmantot apkārt esošos rokturus, lai palielinātu vai padarītu to vēl mazāku, velkot rokturus ar kursoru.

Ekrāna apakšējā kreisajā stūrī ir rekvizītu logs. Tā kā uzmanība tiek pievērsta tieši pašai veidlapai, tajā ir ietvertas visas veidlapai raksturīgās īpašības, kas raksturīgas šai veidlapai.

Ņemiet vērā, ka tad, kad sākat pievienot vadīklas, piemēram, kombinētās kastes un komandu pogas, visām šīm vadīklām ir savs īpašību kopums, un tās var ļoti atšķirties katrā no tām.

Pašlaik redzamie rekvizīti attiecas tikai uz pašu veidlapu.

Rekvizīts “Nosaukums” ir nosaukums, ko izmanto, lai definētu jūsu veidlapas objektu VBA kodā. Iespējams, vēlēsities izmantot kaut ko nozīmīgāku objekta nosaukumam, lai, pārskatot savu kodu, būtu skaidrs, kura forma tiek izmantota.

Īpašums “Nosaukums” atspoguļosies arī logā “Projektu pētnieks” ekrāna augšējā kreisajā stūrī

Jūs vēlaties mainīt veidlapas virsrakstjoslu uz kaut ko citu, nevis “UserForm1”, un to varat izdarīt, ierakstot jauno tekstu īpašumā “Paraksts”.

Jūs varat veikt milzīgas izmaiņas, kā lietotājs redz jūsu veidlapu. Jūs varat mainīt krāsas, pievienot attēlus, piem. uzņēmuma logotips, mainiet pozīciju, izmantojot “kreiso” un “augšējo”, mainiet izmēru, izmantojot “augstumu” un “platumu”, mainiet peles rādītāju un vēl daudz ko citu

Visus šos rekvizītus var arī programmatiski mainīt jebkurai vadīklai, ko esat pievienojis savai veidlapai. Piemēram, lietotājs var izvēlēties no saraksta lodziņa vadīklas, un jūs, iespējams, vēlēsities atspējot vai slēpt citas vadīklas, pamatojoties uz lietotāja izvēli

Rīklodziņa izmantošana

Jūs pamanīsit, ka, noklikšķinot uz pašas veidlapas, tiek parādīts uznirstošais rīklodziņš. Ja noklikšķināsiet jebkur citur, piem. rekvizītu rūtī, tā pazudīs, bet atkal parādīsies, noklikšķinot uz veidlapas.

Instrumentu kaste nodrošina veidlapas dizaina patieso mehāniku. Tas ļauj jūsu veidlapai pievienot parastās Windows vadīklas, kas lietotājiem ir pazīstamas.

Jūs pamanīsit, ka veidlapā ir punktu tīkls. Šis ir “snapgrid”, lai, veidlapai pievienojot vadīklu, tā automātiski izlīdzinātu pozīciju ar punktu rindām un kolonnām. Tas ārkārtīgi palīdz saskaņot vadības ierīces, lai vadības ierīces netiktu rautas

Ja noklikšķināt uz vadīklas un pēc tam nolemjat to neizmantot, noklikšķinot uz ikonas “Bultiņa” rīkjoslas augšējā kreisajā stūrī, kursors tiks mainīts uz parasto.

Rīku kopai varat pievienot papildu vadīklas, izmantojot rīkus | Papildu vadīklas VBE izvēlnē. To ir pieejams ievērojams skaits, taču atkarībā no jūsu Windows un Excel versijām tās ne vienmēr darbojas, tāpēc bieži ir jāveic daži eksperimenti.

Turklāt jūsu lietotājiem var nebūt piekļuves dažām no šīm papildu vadīklām vai arī viņi izmanto vecākas Windows un Excel versijas, kas var radīt problēmas. Lielās organizācijās, it īpaši, ja tās ir globālas, nav tādas lietas kā standarta uzbūves dators, uz kuru varat paļauties!

Izejas pogas pievienošana veidlapai

Komandas pogu ir vienkārši pievienot veidlapai. Tas izskatās tāpat kā pogas, kuras redzat citās Windows formās, parasti kā poga “Labi” vai “Atcelt”.

Rīkjoslā noklikšķiniet uz komandas pogas ikonas. Šī ir otrā ikona apakšējā ikonu rindā pa kreisi. Skatiet attēlu iepriekš. Uz tā ir burti “ab”.

Jūs varat vai nu turēt peles pogu nospiestu, un vilkt vadīklu uz savu veidlapu, vai arī pārvietot kursoru uz formu, kur tā tiks mainīta uz “krusta” kursoru, un jūs varat novietot un izmērīt savu pogu

Velkot vadīklu uz veidlapu, tiks parādīts pogas noklusējuma izmērs. Pārvietojot kursoru uz veidlapu, varat mainīt pogas izmēru, velkot “krusta” kursoru pāri veidlapai

Jūsu veidlapa tagad izskatīsies šādi:

Pogas paraksts būs noklusējuma teksts, taču jūs vēlaties to mainīt atbilstoši savām prasībām. Varat noklikšķināt uz pogas esošā teksta (“CommandButton1”), un tas ļaus tieši rediģēt parakstu.

To var mainīt arī rekvizītu logā (ekrāna apakšējā kreisajā stūrī). Jūs redzēsit īpašumu ar nosaukumu “Paraksts” un varēsit rediģēt tā vērtību. Mainiet to uz “Iziet”

Tāpat kā veidlapas rekvizīti, rekvizīts “Nosaukums” nosaka nosaukumu, kas tiks izmantots jūsu VBA kodā. Iespējams, vēlēsities izmantot kodu, kas ir nozīmīgāks un acīmredzamāks. To var ievadīt īpašumā “Vārds”.

Jūs varat pārvietot pogu, velkot to pa veidlapu, un varat mainīt tās izmēru, noklikšķinot uz pogu rokturiem (baltas kvadrātveida kastes) un velkot rokturus, lai padarītu to lielāku vai mazāku

Varat arī mainīt pogas izmēru, mainot augstuma un platuma vērtības rekvizītu logā

Jūs varat apskatīt savu veidlapu programmā Excel, noklikšķinot uz zaļā trīsstūra VBE rīkjoslā vai nospiežot F5

Jūs varat izsaukt savu veidlapu no moduļa VBA koda, izmantojot metodi “Rādīt”

123 Sub ShowForm ()UserForm1.ShowBeigu apakš

Jūsu lietotāja veidlapa faktiski ir globāls objekts, un to var izsaukt no jebkuras vietas jūsu kodā

Pašlaik jūsu komandas poga neko nedara, jo aiz tās nav VBA koda. Tas jāraksta pašam! Viss, kas šobrīd var notikt, ir tas, ka varat noklikšķināt uz “Aizvērt” X veidlapas augšējā labajā stūrī.

Lai pievienotu VBA kodu, veiciet dubultklikšķi uz veidlapas pogas

Tas jūs aizvedīs uz parasto VBA koda logu un parādīs noklusējuma klikšķa notikumu.

Lai aizvērtu veidlapu, jūs izmantojat slēpšanas metodi, kā arī varat pievienot jebkuru citu kodu, piemēram, ziņojumu lodziņu, lai apstiprinātu lietotājam notikušo.

Ņemiet vērā, ka koda loga augšpusē ir divas nolaižamās izvēlnes. Pirmais ļauj atlasīt veidlapas vadīklas, bet otrais parāda visus notikumus, kas ir pieejami koda pievienošanai. Pogai acīmredzamais ir notikums “Noklikšķināt”, bet ir arī citi, piemēram, “Dubultklikšķis” vai “Peles pārvietošana”

Palaižot veidlapu tagad, poga faktiski kaut ko dara. Veidlapa pazūd un tiek parādīts ziņojumu lodziņš, kas apstiprina, ka veidlapa ir aizvērta

Jūs, protams, varat palielināt izejas kodu. Iespējams, vēlēsities parādīt citu veidlapu vai rīkoties ar parametriem, kurus lietotājs ir ievadījis jūsu veidlapā

Etiķetes vadīklas pievienošana veidlapai

Etiķetes vadīklas ir paredzētas, lai lietotājs tiktu informēts par to, kāda veida dati ir jāievada veidlapas vadīklā, piem. tekstlodziņš, nolaižamā izvēlne utt. Uz etiķetes pēc noklusējuma nav robežu, taču, ja nepieciešams, tās var pievienot, izmantojot rekvizītu logu.

Kā vadīklas tās tiek lasītas tikai lietotājam, un tās ir vienkārši veids, kā ievietot veidlapā tekstu neatkarīgi no tā, vai tas ir treknrakstā iekļauts virsraksts, vai norādījums, ko ievadīt vai izvēlēties.

Lai pievienotu iezīmi, rīkjoslā noklikšķiniet uz ikonas “A” (augšējā rinda, otrā no kreisās) un veiciet dubultklikšķi uz tās vai pārvietojiet kursoru uz formu un izvēlieties pozīciju un izmēru.

Izmantojot rekvizītu “Paraksts” rekvizītu logā vai noklikšķinot uz etiķetes vadīklas, varat ievadīt etiķetes vadīklas tekstu.

Ņemiet vērā, ka teksts tiks iesaiņots atbilstoši etiķetes vadīklas lielumam, un, ja teksta virkne ir pārāk gara, tā pilnībā netiks parādīta veidlapā, tāpēc jums jābūt uzmanīgam ar etiķetes vadīklas izmēru.

Izmantojot rekvizītu logu, varat mainīt etiķetes vadīklas izskatu, izmantojot dažādas krāsas, fontus, aizmugures stilu, piem. ja tas pārklāj attēlu un vēlaties, lai tas būtu caurspīdīgs

Iezīmju vadībai nav jāizveido kods. Galvenais mērķis ir pievienot veidlapai tekstu, lai lietotājs varētu redzēt, kā darbojas visas pārējās vadīklas

Teksta vadīklas pievienošana veidlapai

Teksta vadīkla tiek izmantota, lai lietotājs varētu ievadīt tekstu, piemēram, ievadot vārdu vai komentārus

Teksta vadīkla tiek pievienota no rīkjoslas, noklikšķinot uz teksta vadības ikonas (augšējā rindā, trešā no kreisās) un veicot dubultklikšķi vai velkot vadīklu savā veidlapas pozīcijā.

Teksta vadību bieži sajauc ar etiķetes vadīklu, bet teksta vadīkla ir lietotāja ievade

Teksts “Ievadiet savu vārdu” ir etiķetes vadīkla, kā aprakstīts iepriekš, un tagad mums ir gatavs balts tekstlodziņš, kurā lietotājs var kaut ko ierakstīt

Izmantojot rekvizītu logu, varat mainīt tekstlodziņa krāsas, fontus, specefektus vai izmantot paroles rakstzīmes. Ir pieejama milzīga elastība

Viens ļoti svarīgs teksta lodziņa rekvizīts ir īpašums “MultiLine”. Ja vēlaties, lai lietotājs teksta vadīklā ievadītu lielu teksta daudzumu, piem. komentārus, tad rekvizītam “MultiLine” jābūt iestatītam uz True.

Tā ir noklusējuma vērtība False, kas nozīmē, ka, lai arī cik liels būtu jūsu tekstlodziņš, ievadītais teksts paliks vienā nepārtrauktā rindā un ritinās ārā no tekstlodziņa. Tas netiks iesaiņots kastē.

Ja ar peles labo pogu noklikšķiniet uz teksta lodziņa, kad tas darbojas, netiek parādīts uznirstošais logs, bet CTRL+V darbosies ielīmēšanai un CTRL+C darbosies izgriešanai, ja lietotājs vēlas izgriezt un ielīmēt tekstu uz un no lietojumprogrammas

Atkal jums ir jāraksta savs kods, lai tiktu galā ar lietotāja ievadīto tekstu. Iespējams, vēlēsities to pārsūtīt uz darblapas šūnu

Šo kodu varat pievienot tekstlodziņa notikumam “Mainīt”

123 Privāta apakšteksta kaste1_Change ()Izklājlapas ("Sheet1"). Diapazons ("A1"). Vērtība = TextBox1.ValueBeigu apakš

Iespējams, vēlēsities ievietot kādu validācijas kodu, lai pārbaudītu, vai lietotājs neievada atkritumus, kas postoši ietekmēs jūsu lietojumprogrammu

Izmaiņu notikums tam nav labs, jo tas tiek izsaukts katru reizi, kad lietotājs ievada jaunu rakstzīmi. Lietotājs varētu sākt rakstīt teksta virkni un uzreiz atklāt, ka ir pārkāpis jūsu validācijas noteikumus, pirms ir pabeidzis derīgu tekstu.

Jūs izmantojat notikumu “Iziet”. Tas tiek aktivizēts, kad lietotājs pārvieto fokusu uz citu veidlapas vadīklu, kas nozīmē, ka lietotājs vairs neievada datus.

123456 Privāts apakštekstsBox1_Exit (ByVal Atcelt kā MSForms.ReturnBoolean)Ja IsNull (TextBox1.Value) Vai Len (TextBox1.Value) <4 TadMsgBox "Nosaukums nav derīgs", vbCriticalTextBox1.SetFocusBeigas JaBeigu apakš

Kad lietotājs noklikšķina uz citas veidlapas vadīklas, šis kods pārbauda vai nu nulles vērtību tekstlodziņā, vai arī mazāk par 4 rakstzīmēm. Ja pārbaude ir patiesa, tiek parādīts ziņojumu lodziņš ar kritisku ikonu, lai informētu lietotāju, ka vārds nav derīgs, un fokuss tiek pārvietots atpakaļ uz pārkāpuma teksta lodziņu, lai lietotājs to labotu.

Ņemiet vērā, ka pat tad, ja lietotājs noklikšķina uz pogas Iziet, vispirms tiks izpildīts tekstlodziņa iziešanas notikums, tāpēc tas neļaus lietotājam iziet, neizlabojot ievadīto informāciju

Formalizējiet un aktivizējiet notikumus veidlapā

Kad VBA pirmo reizi izveido un izveido veidlapu, tas izraisa notikumu “Inicializēt”. Tomēr, tā kā veidlapa tiek parādīta arī šajā brīdī, tā arī aktivizē notikumu “Aktivizēt”. Turpmāk katru reizi, kad veidlapa tiek parādīta, izmantojot metodi “Rādīt” vai veidlapu hierarhijas ietvaros, tiek aktivizēts notikums “Aktivizēt”, bet ne “inicializēt”.

Notikums “Inicializēt” notiek tikai vienu reizi, bet “Aktivizēt” var notikt daudzas reizes

Veidlapā, iespējams, vēlēsities iestatīt noklusējuma vērtības no darblapas ievades vadīklās, piem. tekstlodziņus, lai tie tiktu parādīti, pirmo reizi izmantojot veidlapu, bet lietotājs varētu pārrakstīt noklusējuma vērtības un šīs jaunās vērtības paliks spēkā, kamēr kods darbojas

12345678 Privāts apakšlietotājsForm_Initialize ()TextBox1.Value = Sheets ("Sheet1"). Diapazons ("A1"). VērtībaJa TextBox1.Value = ”” TadTextBox1.Visible = NepareizsCitādiTextBox1.Visible = TrueBeigas JaBeigu apakš

Notikumu “Inicializēt” varat atrast koda loga otrajā nolaižamajā izvēlnē, bet lietotāja veidlapas nosaukumu - pirmajā nolaižamajā izvēlnē.

Šis kods izmantos vērtību “Sheet1” šūnā A1 kā noklusējuma vērtību tekstlodziņā, kas izveidots iepriekš šajā rakstā. Kad veidlapa parādās pirmo reizi, parādīsies noklusējuma vērtība. Pēc tam lietotājs var pārrakstīt noklusējuma vērtību, un tā tiks saglabāta. Ja CellA1 ir tukšs, tekstlodziņš tiks paslēpts, pretējā gadījumā tas būs redzams

Noklusējuma vērtība var būt arī kodēta:

1 TextBox1.Value = “Džons Smits”

Varat arī pārliecināties, ka lietotāja ievadītās vērtības tiek parādītas ikreiz, kad lietotājs aktivizē šo veidlapu konkrētajā Excel sesijā. VBA kods var viegli ierakstīt vērtības darbgrāmatas šūnās, izmantojot vadīklas notikumu “Iziet”, un atjaunot tās, izmantojot veidlapas notikumu “Aktivizēt”

123 Privāts apakštekstsBox1_Exit (ByVal Atcelt kā MSForms.ReturnBoolean)Izklājlapas ("Sheet1"). Diapazons ("A10"). Vērtība = TextBox1.ValueBeigu apakš
123 Privāts apakšlietotājsForm_Activate ()TextBox1.Value = Sheets ("Sheet1"). Diapazons ("A10"). VērtībaBeigu apakš

Šis kods padarīs lietotāja vērtības noturīgas, kā arī nodrošinās to saglabāšanu kopā ar pārējo darbgrāmatu

Pieteikuma un veidlapu saglabāšana

Saglabājot Excel darbgrāmatu, kurā ir jūsu veidlapas, tiek saglabātas arī visas veidlapas un to VBA kods. Tomēr visas vērtības, kuras veidlapas saglabā to parādīšanas laikā, tiks zaudētas.

Ir svarīgi rakstīt kodu, lai, kad lietotājs iziet no darbgrāmatas vai veidlapas, vērtības tiktu ierakstītas atpakaļ darbgrāmatas šūnās un tādējādi tiktu saglabātas.

Modālās un nemodālās formas

Veidlapai ir īpašums “Show Modal”. Pēc noklusējuma tas ir iestatīts uz True, bet to var mainīt uz False (nemodāls)

Ja veidlapa ir modāla, tas nozīmē, ka veidlapas parādīšanas laikā nevienai no Excel funkcijām nevar piekļūt. Tas ietver jūsu kodu VBE logā. Jūs varat apskatīt kodu, bet kursors un tastatūra ir atspējoti.

Nemodālā veidā veidlapas parādīšanas laikā varat piekļūt visām Excel funkcijām, ieskaitot VBE logu.

Tas ir svarīgi no lietotāju uzvedības kontroles viedokļa

Veidlapas aizvēršana

Lai arī cik labi jūs rakstītu savu kodu, lai piespiestu lietotāju noteiktā maršrutā, viņš var to viegli apiet, veidlapas augšējā labajā stūrī noklikšķinot uz “Aizvērt” X

Lai to novērstu, mainiet veidlapas notikumu “QueryClose”

1234 Privāts apakšlietotājsForm_QueryClose (Atcelt kā veselu skaitli, Aizvērt režīmu kā vesels skaitlis)Atcelt = taisnībaMsgBox "Šī darbība ir atspējota"Beigu apakš

Notikums “QueryClose” tiek aktivizēts, kad lietotājs noklikšķina uz veidlapas “Aizvērt” X. Šis kods atceļ darbību, tāpēc lietotājs ir spiests izmantot jūsu pogu “Iziet” un kodu, kas atrodas aiz tā.

Vadības iespējošana un atspējošana

Visām veidlapas vadīklām ir īpašums “Iespējots”, kura iestatījums ir Patiess vai Nepareizs. Ja tas ir nepatiess, vadīkla ir pelēka. To var redzēt, bet to nevar izmantot.

Ir arī īpašums “Redzams”, kas atkal ir iestatīts uz Patiess vai nepatiess.

Jūs varat rakstīt kodu, lai noteiktu vadīklu padarītu nelietojamu vai padarītu to lietotājam pilnīgi neredzamu. Izmantojot paziņojumu “Ja”, varat izvēlēties apstākļus, kad tas jādara

Piemēram, sākotnēji varat atspējot pogu “Iziet”, līdz lietotājs ir ievadījis vērtību tekstlodziņā1 (vārds)

123 Privāts apakšlietotājsForm_Initialize ()CommandButton1.Enabled = NepareiziBeigu apakš
1234567 Privāta apakšteksta kaste1_Change ()Ja Len (TextBox1.Value)> 0 TadCommandButton1.Enabled = PatiesaCitādiCommandButton1.Enabled = NepareiziBeigas JaBeigu apakš

Šis kods izmanto veidlapu “Initialize”, lai atspējotu iziešanas pogu (1. komandas poga), kad veidlapa pirmo reizi parādās, un pēc tam TextBox1 (nosaukums) izmanto notikumu “Mainīt”, lai iespējotu pogu Iziet, ja kaut kas ir ierakstīts vai atspējots ja lodziņš ir tukšs.

Notikums “Mainīt” tiek aktivizēts ikreiz, kad tekstlodziņā tiek ierakstīta vai izdzēsta jauna rakstzīme. Ja lietotājs mēģina ievadīt tekstu, lai poga būtu iespējota, un pēc tam izdzēš visu tekstu, poga uzreiz tiks atspējota

wave wave wave wave wave