
- •Лабораторна робота 1 Ієрархічна структура об'єктів vba. Властивості і методи
- •Продовження табл. 2
- •Закінчення табл. 2
- •Лабораторна робота 2 Організація програм у vba. Редактор Visual Basic
- •Лабораторна робота 3 Типи змінних. Тип даних, обумовлений користувачем. Змінна типу Оbject. Константи.
- •Лабораторна робота 4 Область дії змінної. Персистенція
- •Лабораторна робота 5 Оператори мови vba
- •Лабораторна робота 6 Масиви. Опис і створення масивів. Динамічні масиви
- •Лабораторна робота 7 Масив і діапазон робочого листа. Функції для роботи з масивами
- •Лабораторна робота 8 Убудовані функції vba. Функції користувача
- •Процедура повинна:
- •Лабораторна робота 9 Використання If і Select Case у функціях користувача
- •Лабораторна робота 10 Форма користувача
- •Лабораторна робота 11 Елементи керування
- •Лабораторна робота 12 Робота зі списками
- •Лабораторна робота 13 Розв’язання рівнянь методом послідовних наближень
- •Лабораторна робота 14 Використання методу ChartWizard і вбудованих математичних функцій для виконання фінансових розрахунків
- •Задачі для самостійного розв’язання
- •Список рекомендованої літератури Основна
- •Додаткова
Лабораторна робота 2 Організація програм у vba. Редактор Visual Basic
Запуск редактора VBA відбувається таким чином: Tools/Macro/Visual Basic Editor (Сервіс/Редактор VBA) чи Alt+F11.
Модуль VBA містить вихідну програму – текстове подання інструкцій. Модулі, що зберігаються в одному документі, називаються проектом (project). Редактор VBA надає засоби для створення нових модулів, перегляду вмісту існуючих модулів, редагування програм, створення діалогових вікон і т.д.
Вікна редактора VBA
Вікно проекту– VBA Project – активізується командою View/ Project Explorer чи кнопкою на панелі інструментів Standart. У цьому вікні представлена ієрархічна структура файлів, форм і модулів поточного проекту.
У проекті автоматично створюються модулі для робочого листа й для всієї книги,які бувають двох типів:
-стандартні – додаються командою Insert/Module;
-модулі об'єктів (робочої книги, робочого листа, класу, форми) – додаються командою Insert/User Form чи Insert/Class Module.
Подвійне клацання по значку будь-якого об'єкта у вікні Project переводить нас до цього об'єкта.
Вікно властивостей (Properties) – активізується командою View/Properties. Містить усі властивості об'єкта поточного вибору (тобто виділеного об'єкта Project). Там же їх можна змінити: наприклад, уведіть у властивості Name першого листа ім'я “Aut” і Ви побачите зміну в робочій книзі. Ці властивості можуть бути введені за алфавітом чи за категоріями.
Вікно програми (Code) - вікно редагування коду. Тут ми створюємо, переглядаємо і редагуємо вихідну програму VBA. Активізується вікно командою Insert/Modul чи View/Code.
Написання програм істотно полегшується за рахунок здатності редактора коду автоматично завершувати написання об'єктів, властивостей, методів, операторів.
Редактор сам пропонує список доступних компонентів, що завершують інструкцію, що вводиться користувачем. Цей список з'являється після крапки, після ключового слова оператора. Подвійне клацання вставляє обраний елемент списку в програму.
Перелік цих елементів примусово виводиться комбінацією Ctrl+j, а спливаюча синтаксична підказка – Ctrl+I. Підводячи курсор до ключового слова редактора VBA, імені процедури, функції, властивості, методу й натиснувши F1, одержуєте довідку про цей елемент.
Вікно Object Browser (рис.1)- використовується для виявлення об'єктів. Воно дозволяє розглядати всі доступні об'єкти host-додатків, їх властивості й методи. Активізується командою View/Object Browser.
Рисунок 1
Меню редактора VBA
Меню File (файл) містить команди, що належать до збереження й відкриття файлів (табл.4).
Таблиця 4
Команда |
Гаряча клавіша |
Дія |
Save project (зберегти проект) |
Ctrl+S |
Зберігає поточний проект VBA на диску, включаючи всі модулі й форми |
Import File (імпорт файла) |
Ctrl+M |
Додає існуючий модуль, форму чи клас у поточний проект. Ви можете імпортувати тільки модулі, форми чи класи, збережені раніше командою Export File з іншого проекту |
Export File (експорт файла) |
Ctrl+E |
Зберігає поточний модуль, форму чи клас у форматі текстового файла для імпортування в інший проект |
Remove (видалити) |
|
Перманентно видаляє модуль чи форму поточного вибору з проекту VBA. Ця команда не доступна, якщо в Project Explorer не обраний ніякий елемент |
(печатка) |
Ctrl+P |
Друкує модуль чи форму |
Close and Return to (закрити й повернутися) |
Alt+Q |
Закриває Редактор VBA і повертає Вас у host-додаток і документ чи робочу книгу, з яких Ви відкривали редактор VBA |
Меню Edit (виправлення) містить команди, що належать до керування вихідною програмою в Code Windows і об'єктами у формах (табл.5).
Таблиця 5
Команда |
Гаряча клавіша |
Дія |
1 |
2 |
3 |
Undo (скасувати) |
Ctrl+Z |
Скасовує останню команду. Не всі команди можуть бути скасовані |
Redo (повернути) |
|
Повертає останню команду, що Ви скасували |
Cut (вирізувати) |
Ctrl+X |
Вирізує виділений текст чи об'єкт і поміщає його у Windows Clipboard. Виділений текст чи об'єкт видаляється з модуля чи форми |
Copy (копіювати) |
Ctrl+C |
Копіює виділений текст чи об'єкт і поміщає його в Windows Clipboard. Виділений текст, присутній у об'єкті чи формі, залишається незмінним |
Paste (уставити) |
Ctrl+V |
Уставляє текст чи об'єкт із Windows Clipboard у поточний модуль чи форму |
Закінчення табл. 5
1 |
2 |
3 |
Clear (очистити) |
Del |
Видаляє виділений текст чи об'єкт із модуля чи форми |
Select all (виділити усі) |
Ctrl+A |
Виділяє весь текст у модулі чи всі об'єкти у формі |
Find (знайти) |
Ctrl+F |
Дозволяє знаходити зазначений текст у модулі |
Find Next (знайти далі) |
F3 |
Повторює останню операцію Find |
Replace (замінити) |
Ctrl+H |
Дозволяє знаходити зазначений текст у модулі й заміняти його іншим текстом |
Indent (збільшити відступ) |
Tab |
Зміщає вправо весь виділений текст на інтервал табуляції |
List Properties/Methods (Список властивостей/ методів) |
Ctrl+J |
Відкриває список у List Properties/Methods, відображаючи властивості й методи об'єкта, ім'я якого Ви щойно ввели. Коли курсор вставки знаходиться на порожнім місці в List Properties/Methods, ця команда відкриває список глобально доступних властивостей і методів |
List Constant (список констант) |
Ctrl + Shift+J |
Відкриває список у Code Windows, що відображає припустимі константи для властивості, що Ви щойно ввели з попереднім знаком «=» |
Quick Info (зведення) |
Ctrl+I |
Відкриває спливаюче вікно підказки, що відображає правильний синтаксис для процедури, функції чи методу, що Ви щойно ввели в Code Windows |
Parametr Info (параметри) |
Ctrl+Shift+I |
Відкриває спливаюче вікно підказки, що відображає параметри (аргументи) процедури, функції чи оператора, що Ви щойно ввели в Code Windows |
Меню View (перегляд) містить команди, що дозволяють вибирати елементи редактора VBA для перегляду і спосіб перегляду (табл.6).
Таблиця 6
Команда |
Гаряча клавіша |
Дія |
Code (програма) |
F7 |
Активізує Code Windows для відображення вихідного коду VBA, асоційованого з обраним модулем чи формою |
Object (об'єкт) |
Shift+F7 |
Відображає об'єкт поточного вибору Project Explorer |
Закінчення табл. 6
1 |
2 |
3 |
Definition (опис) |
Shift+F2 |
Відображає вихідний код VBA для процедури чи функції, на яку вказує курсор: відображає Object Browser для об'єктів у довідці VBA |
Object Browser (перегляд об'єктів) |
F2 |
Відкриває Object Browser, що дозволяє визначити, які об'єкти доступні в даний момент |
Immediate Window (вікно налагодження) |
Ctrl+G |
Відображає вікно налагодження Immediate Window VBA. |
Locals Window (Вікно локальних змінних) |
|
Відображає вікно налагодження: Locals Window |
Watch Window (вікно контрольного значення) |
|
Відображає вікно налагодження: Watch Window (контрольні значення) |
Project Explorer (вікно проекту) |
Ctrl+R |
Відображає Project Explorer
|
Propertion Window (вікно властивостей) |
F4 |
Відображає Propertion Window |
Toolbox (панель елементів) |
|
Відображає Toolbox. Toolbox використовується для додавання елементів керування в діалогові вікна користувача. |
Toolbars (панелі інструментів) |
|
Відображає підменю, що дозволяє показувати або ховати різні панелі інструментів Редактора VBA чи відкривати діалогове вікно для настроювання однієї з панелей інструментів Редактора VBA |
Команди меню Insert (вставка) дозволяють додавати різні об'єкти, такі як модулі й форми, у Ваш проект (табл.7).
Таблиця 7
Команда |
Дія |
Procedure (процедура) |
Уставляє нову процедуру (Sub, Function, Property) у поточний модуль |
UserForm |
Додає нову форму (використовується для створення діалогових вікон користувача) у проект |
Module (модуль) |
Додає новий модуль у проект |
ClassModule (модуль класу) |
Додає в проект ClassModule (модуль класу). Модулі класу використовуються для створення об'єктів користувача у Вашому проекті |
File (файл) |
Дозволяє вставляти текстовий файл, що містить вихідний код VBA, у модуль |
Команди меню Format використовуються під час створення вікон користувача і інших форм. Команди меню Format дозволяють вирівнювати об'єкти у формі відносно один одного, набудовувати розмір елемента керування відповідно до його вмісту й виконувати багато інших корисних завдань. Команди меню Format Ви будете застосовувати, коли почнете створювати власні вікна користувача.
Команди меню Debug використовуються під час виконання тестування чи налагодження програм (Debugging – процес перебування і виправлення помилок у програмі) (табл.8).
Таблиця 8
Команди |
Гаряча клавіша |
Дія |
Run to Cursor (виконати до поточної позиції) |
Ctrl+F8 |
Виконує оператори вихідного коду макросу від оператора, що виконується в даний момент, до поточної позиції курсору |
Add Watch (додати контрольне значення) |
|
Дозволяє вказувати змінні чи вираз, значення яких можна спостерігати під час вихідного коду VBA |
Toogle Breakpoint (крапка зупину) |
|
Відзначає місце (чи скасовує оцінку) у вихідному коді VBA, де Ви хочете зупинити виконання макросу |
Clear All Breakpoints (зняти всі крапки зупину) |
Ctrl+Shift+F9 |
Видаляє всі крапки зупину в модулі |
Команди меню Run (табл.9)
Таблиця 9
Команда |
Гаряча клавіша |
Дія |
Run Sub/User Form (запуск підпрограми чи форми користувача) |
F5 |
Приводить до того, що VBA запускає програму, яка редагується в даний момент, тобто VBA запускає макрос, на тексті якого знаходиться курсор вставки. Якщо будь-яка форма активна, VBA запускає цю форму |
Break (перервати) |
Ctrl+Break |
Перериває виконання Вашого коду VBA і приводить до того, що Редактор VBA переходить у режим переривання (Break Mode). (Break Mode використовується під час налагодження VBA) |
Design Mode (конструктор) |
|
Включає й виключає Design Mode (режим проектування чи розробки) для проекту. У цьому режимі ніякий код у Вашому проекті не виконується, і події від елементів керування не обробляються |
Знайомство з панелями інструментів Редактора VBA.
Для багатьох користувачів вибрати командну кнопку за допомогою миші легше, ніж вибрати команду меню. Тому Редактор VBA надає найважливіші й найбільш часто використовувані команди у вигляді кнопок на панелі інструментів.
За замовчуванням Редактор VBA відображає тільки панель інструментів Standart (рис.2).
1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18
Рисунок 2
Панель Standart Редактора VBA містить кнопки для найважливіших й найбільш часто використовуваних команд:
1 – View host-додаток; 2 – Insert UserForm; 3 – Save module; 4 – Cut; 5 – Copy; 6 – Paste; 7 – Find; 8 – Undo; 9 – Redo; 10 – Run Sub/UserForm; 11 – Break; 12 – Reset; 13 – Design Mode; 14 – Project Explorer; 15 – Properties Window; 16 – Object Browser; 17 – Toolbox; 18 – Microsoft Visual Basic Help
Програма мовою VBA складається з одного чи декількох модулів, кожний з яких має таку структуру:
-опції, що керують програмою;
-оголошення глобальних змінних і констант (рівня модуля чи проекту);
-текст функцій користувача і процедур, що складають саму програму.
Для зручності читання програму супроводжують коментарями. Рядок коментаря починається або зі знака апострофа, або з ключового слова Rem.
Декілька операторів в одному рядку розділяються двокрапкою .
Послідовність знаків «пробіл» і _ дозволяють вважати наступний рядок продовженням поточногого рядка. При цьому не можна розбивати переносом текст. Допускається не більше 7 переносів одного й того ж рядка.
Завдання до лабораторної роботи 2
Набрати, запустити на виконання і налагодити програми до лабораторної роботи 1. Оформити результати у звіті.