Сваки Екцел оквир за дијалог који креирате у ВБА чува се у сопственом објекту УсерФорм — један дијалог за сваки УсерФорм. Ви креирате и приступате овим корисничким обрасцима у Висуал Басиц Едитору.
Уметање новог корисничког обрасца
Уметните објекат УсерФорм пратећи ове кораке:
Активирајте ВБЕ притиском на Алт+Ф11.
Изаберите радну свеску која ће држати кориснички образац у прозору пројекта.
Изаберите Уметање → Кориснички образац.
ВБЕ умеће нови објекат УсерФорм, који садржи празан оквир за дијалог.
Ево корисничког обрасца — празног дијалошког оквира. Ваш посао, ако одлучите да га прихватите, је да додате неке контроле овом корисничком обрасцу.
Нови објекат УсерФорм.
Додавање контрола у кориснички образац
Када активирате кориснички образац, ВБЕ приказује Тоолбок у плутајућем прозору. Користите алате у кутији са алаткама да бисте додали контроле свом корисничком обрасцу. Ако се из неког разлога кутија са алаткама не појави када активирате свој кориснички образац, изаберите Виев → Тоолбок.
Да бисте додали контролу, само кликните на жељену контролу у оквиру са алаткама и превуците је у оквир за дијалог да бисте креирали контролу. Након што додате контролу, можете је померити и променити величину помоћу стандардних техника.
Ево листе различитих алата, као и њихових могућности.
Контрола |
Шта ради |
Етикета |
Приказује текст |
Поље за текст |
Омогућава кориснику да унесе текст |
ЦомбоБок |
Приказује падајућу листу |
Листа кутија |
Приказује листу ставки |
Поље за потврду |
Пружа опције као што су укључено/искључено или да/не |
ОптионБуттон |
Омогућава кориснику да изабере једну од неколико опција; користи се у
групама од два или више |
Искључи дугме |
Омогућава кориснику да укључи или искључи дугме |
Рам |
Садржи друге контроле |
ЦоммандБуттон |
Дугме на које се може кликнути |
ТабСтрип |
Приказује картице |
МултиПаге |
Контејнер са картицама за друге објекте |
Трака за померање |
Омогућава кориснику да превуче траку да би успоставио поставку |
СпинБуттон |
Омогућава кориснику да кликне на дугме да промени вредност |
Слика |
Садржи слику |
РефЕдит |
Омогућава кориснику да изабере опсег |
Промена својстава за контролу УсерФорм
Свака контрола коју додате у кориснички образац има својства која одређују како ће контрола изгледати или се понашати. Поред тога, сам кориснички образац има свој скуп својстава. Ова својства можете променити помоћу прозора са одговарајућим називом Својства. Ово приказује прозор Својства када је изабрана контрола ЦоммандБуттон.
Користите прозоре Својства да бисте променили својства контрола УсерФорм-а.
Прозор Пропертиес се појављује када притиснете Ф4, а својства приказана у овом прозору зависе од тога шта је изабрано. Ако изаберете другу контролу, својства се мењају у она прикладна за ту контролу. Да бисте сакрили прозор Својства и склонили га са пута, кликните на дугме Затвори у његовој насловној траци. Притиском на Ф4 увек се враћа када вам затреба.
Својства за контроле укључују следеће:
-
Име
-
Ширина
-
Висина
-
Валуе
-
Наслов
Свака контрола има свој скуп својстава (иако многе контроле имају нека заједничка својства). Да бисте променили својство помоћу прозора Својства, следите ове кораке:
Уверите се да је у корисничком обрасцу изабрана исправна контрола.
Уверите се да је прозор Својства видљив.
У прозору Својства кликните на својство које желите да промените.
Направите промену у десном делу прозора Својства.
Ако изаберете сам кориснички образац (а не контролу на корисничком обрасцу), можете користити прозор Својства да бисте прилагодили својства корисничког обрасца.
Преглед прозора УсерФорм Цоде
Сваки објекат УсерФорм има модул Цоде који садржи ВБА код (процедуре за руковање догађајима) који се извршава када корисник ради са оквиром за дијалог. Да бисте видели модул Цоде, притисните Ф7. Прозор кода је празан док не додате неке процедуре. Притисните Схифт+Ф7 да бисте се вратили у оквир за дијалог.
Ево још једног начина за пребацивање између прозора кода и приказа корисничког обрасца: Користите дугмад Виев Цоде и Виев Објецт у насловној траци прозора пројекта. Или кликните десним тастером миша на кориснички образац и изаберите Прикажи код. Ако гледате код, двапут кликните на име корисничког обрасца у прозору пројекта да бисте се вратили на кориснички образац.
Приказ корисничког обрасца
Кориснички образац приказујете коришћењем методе Схов УсерФорм у ВБА процедури.
Макро који приказује оквир за дијалог мора бити у ВБА модулу — не у прозору кода за кориснички образац.
Следећа процедура приказује оквир за дијалог под називом УсерФорм1:
Суб СховДиалогБок()
УсерФорм1.Схов
' Остале изјаве могу ићи овде
Енд Суб
Када Екцел прикаже оквир за дијалог, макро СховДиалогБок се зауставља док корисник не затвори оквир за дијалог. Затим ВБА извршава све преостале изразе у процедури. Већину времена нећете имати више кода у процедури. Као што ћете касније видети, своје процедуре за руковање догађајима стављате у прозор кода за кориснички образац. Ове процедуре се активирају када корисник ради са контролама на корисничком обрасцу.
Коришћење информација из корисничког обрасца
ВБЕ даје име за сваку контролу коју додате у кориснички образац. Име контроле одговара њеном својству Наме. Користите ово име да бисте упућивали на одређену контролу у вашем коду. На пример, ако додате ЦхецкБок контролу у УсерФорм под називом УсерФорм1, ЦхецкБок контрола се подразумевано зове ЦхецкБок1. Можете користити поље Својства да бисте ову контролу приказали са потврдним знаком. Или можете написати код да то урадите:
УсерФорм1.ЦхецкБок1.Валуе = Тачно
Већину времена пишете код за кориснички образац у модулу кода корисничког обрасца. Ако је то случај, можете изоставити квалификатор објекта УсерФорм и написати изјаву овако:
ЦхецкБок1.Валуе = Тачно
Ваш ВБА код такође може да провери различита својства контрола и да предузме одговарајуће радње. Следећи израз извршава макро под називом ПринтРепорт ако је потврђен избор у пољу за потврду (назван ЦхецкБок1):
Ако је ЦхецкБок1.Валуе = Труе, онда позовите ПринтРепорт
Обично је добра идеја да промените подразумевано име које је ВБЕ дао вашим контролама у нешто значајније.