Клас 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.

Благодаря ви за вниманието. Автор на блога Владимир Баталий