Флексибилност аргумента ВБА дугмади олакшава прилагођавање ваших Екцел оквира за поруке. Можете одабрати које дугмад желите да прикажете, одредите да ли ће се икона појавити и одлучити које дугме је подразумевано (подразумевано дугме се „кликне“ ако корисник притисне Ентер).
Можете користити уграђене константе за аргумент дугмади. Ако желите, можете користити вредност уместо константе (али коришћење уграђених константи је много лакше).
Да бисте користили више од једне од ових константи као аргумент, само их повежите помоћу + оператора. На пример, да бисте приказали оквир за поруку са дугмадима Да и Не и иконом узвика, користите следећи израз као други МсгБок аргумент:
вбИесНо + вбЕкцламатион
Или, ако више волите да ваш код буде мање разумљив, користите вредност од 52 (то јест, 4 + 48).
Следећи пример користи комбинацију константи за приказ оквира за поруку са дугметом Да и дугметом Не (вбИесНо), као и иконом знака питања (вбКуестион). Константа вбДефаултБуттон2 означава друго дугме (Не) као подразумевано дугме — односно дугме на које се кликне ако корисник притисне Ентер. Ради једноставности, ове константе се додељују променљивој Цонфиг, а затим користе Цонфиг као други аргумент у функцији МсгБок:
Суб ГетАнсвер3()
Дим Цонфиг Ас Лонг
Дим Анс Ас Интегер
Цонфиг = вбИесНо + вбКуестион + вбДефаултБуттон2
Одговор = МсгБок(„Обрадити месечни извештај?“, Конфигурација)
Ако је Анс = вбИес, онда РунРепорт
Енд Суб
Проверите оквир са поруком који Екцел приказује када извршите процедуру ГетАнсвер3. Ако корисник кликне на дугме Да, рутина извршава процедуру под називом РунРепорт. Ако корисник кликне на дугме Не (или притисне Ентер), рутина се завршава без радње. Пошто је аргумент наслова изостављен у функцији МсгБок, Екцел користи подразумевани наслов, Мицрософт Екцел.
Аргумент дугмади функције МсгБок одређује шта се појављује у оквиру за поруке.
Следећа рутина пружа још један пример коришћења функције МсгБок:
Суб ГетАнсвер4()
Дим Мсг Ас Стринг, Титле Ас Стринг
Дим Цонфиг Ас Интегер, Анс Ас Интегер
Порука = „Желите ли да обрадите месечни извештај?“
Порука = Порука & вбНевЛине & вбНевЛине
Порука = Порука & „Обрада месечног извештаја ће „
Порука = Порука & „тражите отприлике 15 минута. То "
Порука = Порука & „генерисаће извештај од 30 страница за „
Порука = Порука & „све продајне канцеларије за тренутну“
Порука = Порука & „месец“.
Наслов = „КСИЗ Маркетинг Цомпани“
Цонфиг = вбИесНо + вбКуестион
Анс = МсгБок(Порука, Конфигурација, Наслов)
Ако је Анс = вбИес, онда РунРепорт
Енд Суб
Овај пример показује ефикасан начин да се наведе дужа порука у оквиру за поруке. Променљива (Мсг) и оператор конкатенације (&) се користе за прављење поруке у низу исказа. Константа вбНевЛине умеће знак за прелом реда који започиње нови ред (користите га двапут да бисте уметнули празан ред). Аргумент титле се користи за приказ другог наслова у оквиру за поруке. Ево оквира са поруком који Екцел приказује када извршите ову процедуру.
Овај оквир за дијалог, који приказује функција МсгБок, приказује наслов, икону и два дугмета.
Можете користити константе (као што су вбИес и вбНо) за повратну вредност функције МсгБок. Ево још неколико константи.
Константно |
Валуе |
Шта то значи |
вбОК |
1 |
Корисник је кликнуо ОК. |
вбЦанцел |
2 |
Корисник је кликнуо на Откажи. |
вбАборт |
3 |
Корисник је кликнуо на Прекини. |
вбРетри |
4 |
Корисник је кликнуо Покушај поново. |
вбИгноре |
5 |
Корисник је кликнуо на Занемари. |
вбИес |
6 |
Корисник је кликнуо Да. |
вбНо |
7 |
Корисник је кликнуо на Не. |
И то је скоро све што треба да знате о функцији МсгБок. Ипак, користите оквире за поруке са опрезом. Обично нема разлога да се приказују оквири са порукама који немају сврху. На пример, људи имају тенденцију да се изнервирају када сваки дан виде оквир са поруком на коме пише Добро јутро. Хвала што сте учитали радну свеску за пројекцију буџета.