Лабораторна робота № 8
Тема: Основи офісного програмування. Розробка макросів за допомогою мови програмування Visual Basic For Applications (VBA).
Мета: Ознайомлення з середовищем VBA. Придбання навичок розробки макросів.
Теоретичні відомості
Використання vba в Microsoft Excel
Visual Basic for Application (VBA) – це об’єктно-орієнтована мова програмування високого рівня, що є одним з діалектів дуже популярної мови програмування Visual Basic. За допомогою VBA можна легко й швидко створювати різні програми, навіть не будучи фахівцем в області програмування. VBA – потужний засіб розробки повнофункціональних програм, працюючих у середовищі MS Office. Це сполучення однієї із самих простих мов програмування Basic з спеціальним механізмом, який дозволяє програмам, що написані цією мовою, звертатися до об’єктів всіх базових додатків MS Office – Excel, Word, Power Point, Access та ін.
VBA має графічне інструментальне середовище, що дозволяє створювати екранні форми, а також елементи керування. VBA є вбудованою мовою програмування пакету MS Office. Особливістю VBA є те, що при створенні програми за основу береться документ: не можна створити програму незалежно від документа (робочої книги в Excel, документа в Word). З його допомогою можна створювати свої власні функції для Excel, що викликаються майстром функцій, розробляти макроси, створювати власні меню та ін.
Розглянемо роботу VBA у середовищі Excel.
Редактор Visual Basic Application
Редактор VBA активізується з Excel одним з наступних способів:
командою меню Сервис/Макрос/Редактор Visual Basic;
комбінацією клавіш [Alt+F11];
кнопкою на панелі інструментів .
Повернутися з редактора VBA у електронні таблиці Excel можна за допомогою команді меню View/Microsoft Excel або по комбінації клавіш [Alt+F11], по команді меню File/Close and Return to Microsoft Excel або по комбінації клавіш [Alt+Q] або через панель задач.
При відкритті робочої книги автоматично активізується об’єкт Application, що визначає сам Excel, і всі вбудовані в нього об’єкти. Цей об’єкт перебуває на вершині ієрархічної структури. Excel включає робочі книги (Workbooks) і різні надбудови. У свою чергу, робочі книги містять робочі аркуші (Sheets) і інші об’єкти. Нарешті, робочі аркуші включають найважливіший об’єкт – діапазон клітинок (Range).
Програма VBA являє собою сукупність процедур і функцій, розміщених залежно від особливостей завдання в одному або декількох модулях. Код VBA зберігається в модулях, які, в свою чергу, зберігаються в проектах.
Редактор у візуальному режимі дозволяє переглянути структурний склад об’єктів, забезпечує додавання нових і редагування існуючих елементів, у тому числі й макросів.
Головне вікно редактора (рис. 1) включає такі елементи: заголовок вікна, меню, панелі інструментів, вікно проекту (Project), вікно властивостей, вікно форми (UserForm), вікно програмного коду (Code), вікно перегляду (Object Browser).
У проекті може бути будь-яка кількість об’єктів. Проект є комплекс файлів, які використовуються для розробки додатків. До складу проекту входять: листи Excel, файли проекту (розширення *.vbp), файли форм (розширення *.frm), файли основних модулів (розширення *.bas), файли модулів класів (розширення *.cls). У вікні проекту (VBAProject) представлена ієрархічна структура файлів (ліворуч), форм і модулів поточного проекту. Під смугою заголовка вікна розміщено три кнопки:
перехід у вікно коду для виділеного компонента (View Code);
перехід у вікно форми (View Object);
зміна режиму перегляду (Toggle Folders).
Рис. 1. Вікно VBA
Вікно проекту в редакторі VBA активізується вибором команди Вид/Вікно проекту (View/Project Explorer) або натисканням кнопки або [Ctrl+R].
Формою називається діалогове вікно, що створюється користувачем і застосовується під час роботи програми.
Модулем називається сукупність текстів програм мовою VBA. У проекті автоматично створюється модуль для кожного робочого листа і для всієї книги. Крім того, модулі створюються для кожної форми користувача, макросів і класів. За своїм призначенням модулі поділяються на два типи: модулі об’єктів і стандартні. До стандартних модулів відносяться ті, що містять макроси та функції користувача. До модулів об’єктів відносяться модулі, зв’язані з робочою книгою, робочими аркушами, формами. Модулі додаються в проект командою Вставка/Модуль (Insert/Module), у цьому випадку програмний код складається користувачем або при створенні макросу (коли програма створюється автоматично). Створені модулі мають стандартні імена Module1, Module2 і т.д. Кожен модуль відображається у вікні, що має дві області: загальну область і область підпрограм. У загальній області містяться оператори опису змінних, які є загальними для всіх процедур і функцій цього модуля. В області підпрограм міститься код програми.
Для знищення модуля треба: виділити ім’я модуля, вибрати команду File/Remove Module, клацнути у вікні діалогу на кнопці Ні.
Вікно програмного коду призначено для введення, перегляду й редагування процедур модуля. У даному вікні можна переглянути код обраної процедури або всіх процедур модуля відразу.