Клас CommandButton - създаване на бутон VBA
В тази статия ще се запознаем с езиковия клас CommandButton VBA, който отговаря за създаването и конфигурирането на бутон. В предишната статия описах компонента Label, тук, в примерите, също ще го използвам, просто искам да следвам принципа - постепенно усложняваме кода и увеличаваме кода.
Честно казано, много повече ме интересува да опиша синтаксиса на самия език, отколкото да работя с визуални елементи. Компонентът vba - CommandButton има следните основни свойства:
Отказ - това свойство е подходящо, ако потребителят трябва да потвърди или отмени избора. Така че, ако създадем бутон с име Отказ и когато щракнете върху него, формулярът трябва да се затвори, тогава ако това свойство е зададено на true, бутонът ще бъде щракнат автоматично, когато натиснете клавиша Esc.
Надпис - всъщност надписът върху бутона
Име – име на обекта CommandButton на езика vba, като правило името е подобно на името на класа (CommandButton1, CommandButton2, … , CommandButtonN). По-добре е да зададете нещо по-разбираемо, например bOk, bEsc, bSumm и т.н.
По подразбиране - ако е зададено на true, бутонът ще се натиска автоматично при натискане на клавиша Enter на клавиатурата.
Картина - позволява ви да посочите пътя до иконата, която ще се показва вместо надписа на CommandButton.
Активиране – дефинира активността (true) или неактивността (false) на обекта за езиковия клас CommandButton vba.
Visible – както и за други обекти, свойството ви позволява да скриете (false) или да покажете (true) контролата.
Ускорител - позволява ви да зададете клавишна комбинация за този контрол. Просто пишете името на клавиша, комбинацията се извършва заедно с клавиша Alt.
И така, сеганека да започнем да практикуваме.
Добавяне на компонент:
- Надпис - "Работа с бутони"
- Ръст - 147,75
- Широчина - 300.75
Добре, сега в прозореца ToolBox (View/ToolBox) изберете контролата Label и я добавете към формуляра, задайте следните стойности:
- Надпис - оставете празен.
- Височина - 24
- W >
Сега трябва да добавим пет бутона към формуляра, първите три бутона трябва да бъдат разположени непосредствено под етикета един след друг, дефинирайте следните стойности за тях:
- Име - Бутон1, Бутон2 и Бутон3
- Надпис - Бутон 1, Бутон 2 и Бутон 3
- Височина - за всички 24
- Ширина - за всички 72
- Топ - за всички 48
- Ляво - 18, 108 и 198
Сега добавете още два бутона най-отдолу със следните стойности:
- Име - ButtonExit и ButtonNoActive
- Надпис - Изход и Неактивен
- Височина - за всички 24
- Ширина - за всички 120
- Топ - за всички 90
- Ляво - 18 и 156
За бутона с име ButtonNoActive задайте свойството Enable на false.
Добре, подготвихме формата и всички необходими контроли, сега нека дефинираме целта:
Когато щракнете върху първите три бутона на класа vba CommandButton, полето Label трябва да показва надписи като „такъв и такъв е натиснат ...“, плюс цветът на текста също трябва да се промени. Един от долните бутони трябва да отговаря за изхода, а другият винаги ще бъде неактивен.
Тук просто казваме, че когато макросът се изпълнява, формулярът трябва да се покаже.
Тук събитието Click се обработва за ButtonExit, Unload Me - отговаря за изтриването (затварянето) на текущия обект (UserForm) от паметта, с други думи, „Изход“.
Обработка на събитияАктивирайте за класа UserForm - веднага щом макросът се стартира, посоченият текст ще се появи в полето Caption, размер 20, черен, ще бъде центриран.
Последните три процедури отговарят за обработката на едно кликване върху трите бутона, които се намират непосредствено под етикета. Текстът на надписа и цветът му ще се променят. И така, в тази статия разгледахме класа CommandButton на езика VBA.
Благодаря ви за вниманието. Автор на блога Владимир Баталий