
- •І. Редактор Visual Basic
- •1. Вікно редактора
- •2. Вікно проектів
- •3. Вікно властивостей об’єкта
- •Редактор Visual Basic
- •1. Вікно програми
- •2. Вікно форми
- •Іі. Макроси у vba
- •1. Підпрограми і функції
- •2. Створення макросів
- •3. Редагування макросів
- •4. Установлення параметрів редактора Visual Basic
- •Ііі. Уведення vba-коду, оператори vba
- •IV. Типи даних
- •1. Числовий тип даних
- •2. Символьний тип даних
- •3. Інші типи даних
- •V. Оголошення і використання змінних
- •VI. Оператори управління програмою
- •3. Оператор циклу Do … Loop
- •4. Оператор циклу For … Next
- •VII. Основні поняття про об’єкти Excel 2003
- •1. Об’єкт Application
- •2. Об’єкт Workbook
- •3. Об’єкт Worksheet
- •4. Об’єкти Range I Selection
- •ActiveCell.Offset(1,2).Select .
- •ActiveCell.Offset(-2,-1).Select .
- •VIII. Взаємодія vba з користувачем
- •1. Функція MsgBox
- •2. Функція InputBox
- •3. Створення підпрограм і функцій користувача
- •Синтаксис підпрограми
- •Синтаксис функції
- •End Function
- •4. Створення форм користувача
- •4.1. Елементи управління
- •4.2. Програмування форми
- •Процедура, оголошена як “ Private”, може бути використана тільки в даному модулі. Форма використовується для введення даних користувачем і збереження їх у робочій книзі.
- •4.3. Списки, які розгортаються або прокручуються
- •4.4. Використання прапорців, перемикачів і рамок
- •4.5. Використання вимикачів і лічильників
- •4.6. Використання набору сторінок і набору вкладок
Тема: МАКРОМОВА ПРОГРАМУВАННЯ VISUAL BASIC FOR APPLICATIONS
Редактор Visual Basic
Макроси у VBА
Уведення VBA-коду, оператори VBA
Типи даних
Оголошення і використання змінних
Оператори управління програмою
Основні поняття про об’єкти Excel
Взаємодія VBA з користувачем
У багатьох програмах є можливість написання програм за допомогою макросів. Основні додатки пакета програм Microsoft Office 2003 мають значні можливості макропрограмування, які об’єднують найбільш сучасні засоби. Для запису і виконання макроса просто призначається зручна комбінація клавіш, команда меню або кнопка панелі інструментів.
У табличному процесорі Excel 2003 вбудована макромова програмування Visual Basic for Applications (VBA), яка використовується для створення і виконання макросів. Вони дають можливість автоматизувати роботу в Excel, розміщуючи послідовність дій в одну команду. Це дає змогу зменшити час виконання і кількість ручних операцій одночасно з високою точністю всіх дій. Макроси VBA можуть створюватися безпосередньо в редакторі, при цьому код вводиться вручну, а не записується автоматично. Введений код відрізняється від записаного простотою, швидкодією і точністю. Зміни в макросі виконуються в редакторі Visual Basic, який використовується для підвищення ефективності макросів, а також для їх перевірки.
Мова VBA має декілька переваг над старими мовами програмування:
а) логічний контроль - можливість виконання різних дій залежно від значень даних у клітинці, результату обчислень або від вибору користувача;
б) повторне виконання - дії макроса можуть повторюватися багато разів із великою швидкістю при певній умові або певну кількість разів;
в) взаємодія з користувачем - мова VBA містить функції для відображення повідомлень і запитань, а також для введення інформації;
г) керування Excel - потужна об’єктна модель дозволяє отримати доступ практично до всіх компонентів Excel, тобто програма виконує всі дії, що Excel;
д) засоби редагування - крім мови програмування, пакет програм Office 2000 має єдиний редактор Visual Basic для написання і налагодження програм;
е) об’єднання з базами даних - вбудована підтримка системи Open Database Connectivity (ODBC) дозволяє працювати з даними Microsoft Access.
Завдяки наявності VBA в пакеті програм Office 2003 мова Visual Basic стала доступною для програмування макросів. Редактор Visual Basic із вбудованими засобами редагування й управління проектами значно підвищує ефективність розроблення програм. Можливість створення форм уключає не тільки відповідний набір інструментів для створення діалогових вікон, але і повноцінну модель програмованих подій. Редактор є основою для всіх операцій редагування VBA в Office 2003, він замінив різні засоби редагування коду додатків, які були у складі попередніх версій пакета Office, і надає потужну платформу для редагування і налагодження програм.
І. Редактор Visual Basic
1. Вікно редактора
Запуск редактора Visual Basic виконується за допомогою команди “Сервис\Макрос\Редактор Visual Basic” (рис. 1):
Рис. 1. Вікно редактора Visual Basic
2. Вікно проектів
У вікні проекту відображається зміст відкритого проекту VBА, який використовується для швидкого доступу до потрібних модулів, форм, об’єктів, а також для копіювання або знищення окремих модулів проекту. Своєю будовою це вікно нагадує програму “Проводник” ОС Windows.
Кожна робоча книга в Excel містить проект. Вікно проекту дозволяє виконувати операції з будь-якими проектами, які відкриті в даний час. Кожний проект у вікні містить папки з різними видами об’єктів:
Microsoft Excel Объекты: аркуші робочої книги, модуль для кожного об’єкта створюється автоматично, використовується при написанні коду для кожного робочого аркуша;
Формы: створюються за допомогою вбудованих інструментів VBА для надання даних користувачеві і для отримання даних від нього;
Модули: створюються при першому записі макроса в робочій книзі, для робочої книги можна додати необмежену кількість модулів;
Модули класса: створюються власні об’єкти зі своїми методами і властивостями як додаток до вбудованих об’єктів у макросах.
Щоб відкрити потрібну папку у вікні проекту, потрібно клацнути маніпулятором “миша” по знаку “+” ліворуч від папки, щоб закрити - “–“. Для приховання зображення папок у вікні проекту слід клацнути маніпулятором “миша” по кнопці “Папки” панелі інструментів вікна проекту.
Щоб відкрити вікно програми для перегляду і редагування, потрібно після вибору відповідного модуля дати команду “Вид\Программа” або двічі клацнути маніпулятором “миша” по імені модуля у вікні проекту.
Для переміщення модуля з одного проекту в інший потрібно:
а) в Excel відкриваються робочі книги з двома необхідними проектами;
б) запускається редактор Visual Basic;
в) вибирається модуль для переміщення;
г) за допомогою маніпулятора “миша” переміщується в потрібний проект, при цьому він буде знищений у вихідному проекті і доданий у кінцевий проект.
При копіюванні модуля з одного проекту в інший дії а), б), в) виконуються аналогічно, а дія г) здійснюється одночасно з натиснутою клавішею “Ctrl”. Для знищення непотрібного модуля використовується команда “Файл\Удалить модуль” після вибору у вікні проекту модуля.
При створенні проектів автоматично надається ім’я VBAProjekt, для перейменування проектів потрібно дати команду “Сервис\Свойства проекта”, потім увести нове ім’я, відповідно до правил найменування, у відповідний рядок діалогового вікна і натиснути кнопку “Ок”.
Код VBA, який є частиною робочої книги, зберігається за допомогою команди “Файл\Сохранить”. При збереженні робочої книги всі модулі, які містяться в ній, зберігаються автоматично. Рекомендується перед запуском програми обов’язково дати команду для збереження файлу.
3. Вікно властивостей об’єкта
При роботі з об’єктами VBA часто використовуються певні властивості цих об’єктів. Для перегляду і редагування зручно користуватися вікном властивостей. Властивість – це атрибут або характеристика об’єкта. Щоб відкрити вікно властивостей, потрібно дати команду “Вид\Окно свойств” або клацнути по кнопці “Окно свойств”, панель інструментів “Стандарт”. На етапі розроблення проекту доступні небагато властивостей. При додаванні процедур і форм маємо можливість отримати доступ до більшої кількості властивостей.
Вікно властивостей використовується для перегляду і зміни властивостей. Основна частина вікна ділиться на дві половини: ліворуч – імена існуючих властивостей, праворуч – відповідні значення. Кожна властивість має певний тип: числове значення, текстове значення, логічне значення тощо.
При виборі об’єктів, наприклад, у вікні проекту або у вікні редагування форм, вікно властивостей буде автоматично поновлюватися, відображуючи доступні властивості об’єкта. У різних типів об’єктів різні властивості, тому перелік властивостей буде змінюватися. Для введення нового значення певної властивості потрібно клацнути маніпулятором “миша” по відповідному рядку в другому стовпці і ввести нове значення. В деяких випадках з’явиться список із допустимими значеннями цієї властивості. При відсутності таких значень перед редагуванням властивості треба чітко визначити її призначення і допустимі значення, довідка викликається натисканням клавіші “F1”. Щоб надати нестандартні імена модулям, використовується властивість Name.