Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
О'єкти_Excel.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
216.34 Кб
Скачать

2. Інтерфейс vba

Задача, яка повинна бути розв’язана в середовищі Excel з використанням мови програмування VBA отримує назву проект (VBA project). Проект формують у середовищі редактора VBA, який викликається до роботи після запуску Excel активізацією клавіш Alt+F11 або командою Разработчик / Visual Basic.

Редактор VBA являє собою окреме вікно з меню і панеллю інструментів, в якому можуть бути представлені: вікно проекту; вікно властивостей елемента проекту; вікно редактора кода процедури; вікно форм (рис. 2).

Вікно властивостей проекта

2.1. Вікно проекту

Вікно Проекту або Провідник Проекту (у випадку відсутності вікна, слід натиснути комбінацію клавіш Ctrl+R) відображає структуру проектів у вигляді дерева папок, що розкриваються. Вузлам верхнього рівня ієрархії відповідають системні проекти (Atpvbaen.xls, Funcres), рівнем нижче – проекти поточної книги (VBAProject). Кожний проект поточної книги складається з аркушів книги, одного спеціального об’єкта (ЭтаКнига), одного або декількох модулів і форм. Модулі і форми присутні в проекті лише в тих випадках, коли вони спеціально додаються користувачем. Для додавання до проекту модуля (папка для збереження процедур), треба розкрити проект VBAProject, а потім викликати для елементу ThisWorkbook (ЭтаКнига) контекстне меню. У контекстному меню активізувати команду Insert/Моdule, до проекту буде додана папка Моdules.

2.2. Вікно властивостей елемента проекту

Кожний об’єкт проекту має свої властивості, наприклад, об’єкт Робочий аркуш має властивість Name (Ім’я), StandardWidth (Стандартна ширина) тощо. У разі відсутності вінка, його можна вивести на екран шляхом активізації клавішу F4.

До складу вікна Властивостей входить дві вкладки – Alphabetic i Categorized, які надають можливість переглядати і редагувати властивості об’єкта в алфавітному порядку, або по категоріям. У лівому стовпці вказуються найменування властивостей, у правому – їх значення, яке в залежності від ситуації можна змінювати.

2.3. Вікно для редагування кода процедури

Вікно призначено для формування і відображення кода процедури (у разі відсутності вікна слід активізувати кнопку F7). Існують два типа процедур: процедури-підпрограми і процедури-функції (у подальшому їх будемо називати просто підпрограми і функції). До складу будь-якої підпрограми входять: початковий рядок з ключовим словом Sub, ім’я підпрограми з парою круглих дужок; один або декілька рядків підпрограми з операторами мови програмування; кінцевий рядок підпрограми з ключовим словом End Sub.

Синтаксис опису процедур (Sub) у VBA має такий вид:

[Public | Private] [Static] Sub Ім’я([список-аргументів])

тіло-процедури

End Sub

Ключове слово Public у заголовку процедури використовується, для того щоб оголосити процедуру загальнодоступною, тобто дати можливість викликати її з інших процедур будь-якого модуля проекту. Альтернативний ключ Private оголошує процедуру, яка буде доступною для інших процедур тільки того модуля, в якому вона створена.

Ключове слово Static означає, що значення локальних змінних (оголошених у тілі процедури) будуть зберігатися в проміжках між викликами.

Для того, щоб створити нову процедуру, необхідно: відкрити у вікні проектів папку з модулем, до якої слід додати процедуру, і, активізувавши цей модуль, відкрити вікно редактора і перейти до нього. Наступна послідовність дій така:

  1. В меню Insert вибрати команду Procedure;

  2. В поле Name вікна Add Procedure, що з’явилосягося, ввести ім’я процедури;

  3. У групі кнопок-перемикачів Type вказати тип процедури що створюється: Sub, Function абоProperty;

  4. У групі кнопок-перемикачів Scope вид доступу до процедури: Public або Private;

  5. Активізувати кнопку OK – у вікні редактора з’явиться заготовка процедури, що складається з її заголовка і кінцевого оператора;

  6. Сформувати текст процедури між її заголовком і кінцевим оператором.

Вікно редагування процедури може працювати в одному із двох режимів: відображення окремої процедури; відображення всього модуля. Перемикання між режимами здійснюється вибором у нижньому лівому куті вікна однієї з двох кнопок .

На рис. 4 наведено вікно редактора VBA з сформованою процедурою з іменем MS.

Рис. 4. Вікно редактора VBA з сформованою процедурою

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

Формування програм значно полегшується за рахунок здатності редактора автоматично завершувати напис операторів. Під час запису кода редактор сам пропонує користувачу перелік компонент, що логічно завершують введення користувачем інструкції. Наприклад, користувачу слід набрати код Range (“D9”). Select. Після введення крапки на екрані відображається перелік компонент, з якого слід вибрати потрібну (рис. 5).

Рис. 5. Вікно переліку компонент коду

Подвійне клікання на вибраній компоненті або натиск клавіші Тав встановлює вибране ім’я в код процедури. Автоматичне відображення списку компонент здійснюється тільки при встановленні прапорця Список компонент (Auto List Members) вкладки Редактор (Editor) діалогового вікна Параметри (Options) пункту меню Tools (рис. 6).

Рис. 6. Вікно налагодження параметрів редактора VBA

Список компонент можна виводити на екран натиском комбінації клавіш CTRL+J, при цьому список відображається як при встановленому, так і при знятому прапорці Список компонент.

Редактор кода після натиску клавіші Enter також здійснює автоматичну перевірку синтаксису рядка кода, що набирається. Якщо після набору рядка і натиску клавіші Enter рядок виділяється червоним кольором, тоді це є свідченням наявності синтаксичної помилки в набраному рядку. Помилку слід знайти і виправити. Крім виділення червоним кольором фрагмента кода с синтаксичною помилкою, на екрані може відображатися діалогове вікно з поясненням причини помилки (така підказка з’являється лише при встановленому прапорці Перевірка синтаксису (Auto Syntax Check) вкладки Редактор (Editor) діалогового вікна Параметри.

Редактор кода має ще одну потужну інтелектуальну можливість, він виділяє ключові слова мови VBA кольором, відмінним від того, яким відображаються: імена змінних; аргументи команд тощо. Опції управління такими можливостями редактора розташовані на вкладці Editor Format діалогового вікна Options.