Вероватно сте упознати са функцијом ВБА МсгБок. Функција МсгБок, која прихвата аргументе приказане у наставку, згодна је за приказивање информација и добијање једноставног корисничког уноса. Може да добије кориснички унос јер је функција. Функција, као што вероватно знате, враћа вредност. У случају функције МсгБок, она користи оквир за дијалог да би добила вредност коју враћа. Наставите да читате да бисте видели како тачно функционише.
Расправа |
На шта утиче |
Промпт |
Текст Екцел се приказује у оквиру за поруке |
Дугмад |
Број који одређује која се дугмад (заједно са којом иконом)
појављују у пољу за поруке (опционално) |
Наслов |
Текст који се појављује у насловној траци оквира за поруке
(опционално) |
Ево поједностављене верзије синтаксе функције МсгБок:
МсгБок(промпт[, дугмад][, наслов])
Приказ једноставног оквира за поруке
Функцију МсгБок можете користити на два начина:
-
Да једноставно прикажете поруку кориснику: У овом случају, није вас брига за резултат који враћа функција.
-
Да бисте добили одговор од корисника: У овом случају вам је стало до резултата који враћа функција. Резултат зависи од дугмета на које корисник кликне.
Ако функцију МсгБок користите саму, не стављајте заграде око аргумената. Следећи пример једноставно приказује поруку и не враћа резултат. Када се прикаже порука, код се зауставља док корисник не кликне ОК.
Суб МсгБокДемо()
МсгБок „Кликните на ОК да бисте започели штампање.“
Схеетс(“Ресултс”).ПринтОут
Енд Суб
Погледајте испод да видите како изгледа овај оквир за поруку. У овом случају, штампање почиње када корисник кликне ОК. Да ли приметите да не постоји начин да откажете штампање? Наставите да читате да бисте сазнали како да то поправите.
Једноставна кутија за поруке.
Добијање одговора из оквира за поруке
Ако прикажете оквир са поруком који има више од дугмета ОК, вероватно ћете желети да знате на које дугме корисник кликне. Имаш среће. Функција МсгБок може да врати вредност која представља на које дугме се кликне. Резултат функције МсгБок можете доделити променљивој.
У следећем коду се користе неке уграђене константе које олакшавају рад са вредностима које враћа МсгБок:
Под ГетАнсвер()
Дим Анс Ас Лонг
Анс = МсгБок(“Започните штампање?”, вбИесНо)
Изаберите Цасе Анс
Цасе вбИес
АцтивеСхеет.ПринтОут
Цасе вбНо
МсгБок „Штампање је отказано“
Крај Изаберите
Енд Суб
Константно |
Валуе |
Шта ради |
вбОКОнли |
0 |
Приказује само дугме ОК. |
вбОКЦанцел |
1 |
Приказује тастере ОК и Цанцел. |
вбАбортРетриИгноре |
2 |
Приказује дугмад Прекини, Понови и Игнориши. |
вбИесНоЦанцел |
3 |
Приказује дугмад Да, Не и Откажи. |
вбИесНо |
4 |
Приказује дугмад Да и Не. |
вбРетриЦанцел |
5 |
Приказује дугмад Покушај поново и Откажи. |
вбЦритицал |
16 |
Приказује икону критичне поруке. |
вбКуестион |
32 |
Приказује икону упита за упозорење. |
вбЕкцламатион |
48 |
Приказује икону поруке упозорења. |
вбИнформатион |
64 |
Приказује икону информативне поруке. |
вбДефаултБуттон1 |
0 |
Прво дугме је подразумевано. |
вбДефаултБуттон2 |
256 |
Друго дугме је подразумевано. |
вбДефаултБуттон3 |
512 |
Треће дугме је подразумевано. |
вбДефаултБуттон4 |
768 |
Четврто дугме је подразумевано. |
Погледајте како то изгледа. Када извршите ову процедуру, променљивој Анс се додељује вредност или вбИес или вбНо, у зависности од тога на које дугме корисник кликне. Наредба Селецт Цасе користи вредност Анс да одреди коју радњу код треба да изврши.
Једноставан оквир за поруке, са два дугмета.
Такође можете користити резултат функције МсгБок без употребе променљиве, као што показује следећи пример:
Под ГетАнсвер2()
Ако је МсгБок(“Започните штампање?”, вбИесНо) = вбИес Онда
' ...[код ако се кликне на Да]…
Иначе
' ...[код ако се не кликне на Да]…
Крај Ако
Енд Суб