Створення та використання діалогових вікон
Діалогові листи – тип аркуша Excel, що використовується для організації користувальницьких діалогових вікон. Додати діалоговий лист можна, клацнувши правою кнопкою миші на назві будь-якого листа, а потім додати -> Вікно діалогу Excel 5.0.
Щоб побачити, як виглядатиме Ваше вікно під час запуску, необхідно клацнути кнопкуВідобразити вікнопанеліФормиабо після клацання правої кнопки у меню, що випадає, вибрати опціюВідобразити вікно. Ви можете в діалоговому аркуші змінити розмір створюваного діалогового вікна, його заголовок, можете додавати та видаляти в ньому кнопки та інші елементи керування, які можна додавати в діалогове вікно за допомогою панеліФормитак само, як це робилося в робочому листя.
Завдання 3. Додайте діалоговий лист, створіть діалогове вікно, а в ньому два прапорці: один із заголовком "Курсів", інший - із заголовком "Напівжирний".
Щоб викликати та відобразити діалогове вікно, створене в діалоговому аркуші Діалог1, використовується методShow, а щоб приховати його - методHide. Наприклад,
Sheets("Діалог1").Show або Sheets("Діалог1"”).Hide.
Створіть макрос, який запускає ваше діалогове вікно:
На даний момент Ваше вікно ніяк не може впливати на стан робочих аркушів робочої книги, оскільки ніякий макрос ще не пов'язаний із натисканням кнопкиОКдіалогового вікна. Щоб встановити цей зв'язок, виділіть у діалоговому аркуші кнопкуОК, а потім клацніть на кнопціТекст програмипанеліФорми. Активним стає модульний лист із вже створеною для вас процедурною заготівлею:
Конструкція Кнопка2_Клацнути() говорить про те, що процедура Sub() буде обробляти подіюClick (Клацнути)для конкретного об'єкта Кнопка2, що належитьоб'єкту типуButton (Кнопка).Загалом у VBA заголовок процедури обробки події має вигляд:
Кнопка2_Клацнути() введіть код, який змінює формат виділених осередків робочого листа залежно від стану прапорців вашого діалогового вікна:
If Sheets("Діалог1").CheckBoxes("Прапорець 5").Value = xlOn Then
If Sheets("Діалог1").CheckBoxes("Прапорець 4").Value = xlOn Then
Об'єктCheckBoxes- це колекція об'єктів елементів керування типуПрапорець, яка міститься в батьківському об'єкті. У прикладі батьківський об'єкт - цеSheets("Диалог1")- конкретний лист діалогу. КонструкціяCheckBoxes( )- це покажчик на конкретний елемент цієї колекції, що має унікальне ім'я.
Завдання 4. Проведіть налагодження та тестування роботи, описаного вище прикладу. Попередньо перевірте, що імена всіх елементів управління в описаному прикладі і у Вашій реалізації збігаються.
Якщо всі макроси та модулі працездатні, на будь-якому з робочих аркушів Excel, перевірте працездатність Вашого прикладу щодо зміни формату осередків будь-якої виділеної області при виклику макросуЗапуск.