ініціалізація форми

У попередньому розділі ми говорили про статичному зміні властивостей елементів управління, але це лише первинна настройка об'єктів форми. Як правило, основні властивості, пов'язані з ініціалізацією даних, переносяться в програмний модуль форми.

Розглядом ініціалізації подібних властивостей ми і займемося в цьому розділі, але для початку кілька слів про форму як такої. Якщо розглядати форму з позицій програмування, то вона являє собою не що інше, як клас VBA. Членами цього класу є елементи управління, розташовані на формі, а методами - show (показати форму), Hide (приховати форму) і т. Д. Більш того, користувач може додавати власні члени і методи.

Крім цього форма має і низку процедур реакції на подію, стандартними з яких для всіх класів VBA є initialize і Terminate (див. Розділ "Класи і об'єкти").

У наступних розділах детально описуються способи ініціалізації списків.

Статична заповнення списку

Програма 22.1. Статична заповнення списку

Пояснимо код програми. По-перше, ми створюємо процедуру, яку згодом будемо викликати з конструктора форми. По-друге, використовуючи оператор with, звертаємося до об'єкту форми duration. І нарешті, в циклі від 1 до 12 инициализируем список.

Після того як ми створили процедуру, її необхідно викликати. Природно, що всі процедури ініціалізації ми будемо розміщувати в конструкторі форми - процедурі - реакції на подію initialize.

Програма 22.2. Виклик процедури з конструктора

Тепер, натиснувши клавішу , ви можете переконатися, що список duration инициализируется вірно.

Робота з файлами

Наступний список, який необхідно форматувати, - series. На відміну від duration, як було зазначено вище, цей список може змінюватися, тому ми вирішили зберігати список з назвою серій в спеціальному файлі bookseries.ini і забирати інформацію для ініціалізації саме звідти.

ініціалізація форми

Мал. 22.4. Архітектура файлу bookseries.ini

Таким чином, користувачеві необхідно лише змінити назву нової серії в даний файл, як зроблені зміни тут же відображаються у формі. Архітектура файлу ініціалізації показана на рис. 22.4.

Програма 22.3. Робота з файлами

Природно, що і виклик процедури init_Series необхідно помістити в тіло конструктора userForm_initialize, який тепер буде виглядати наступним чином.

Програма 22.4. Виклик процедури lnit_Series з конструктора

Взяття даних з Outlook

Програма 22.5. Ініціалізація даних з Outlook

Отже, перш за все, ми оголошуємо ряд змінних, після чого отримуємо посилання на папку з контактами і організуємо цикл по всіх її елементів. Як бачите, все досить просто.

Схожі статті