Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA.doc
Скачиваний:
3
Добавлен:
17.09.2019
Размер:
696.83 Кб
Скачать

Запуск та відлагодження процедури

Запустити створену процедуру можна як із вікна редактора VB, так і з вікна програми, в середовищі якої процедура була створена.

Після завершення запису, перебуваючи у вікні редактора VB, процедуру можна запустити, виконавши команду Виконати  Процедура/Форма (Run  RunSub/UserForm), або натиснувши відповідну піктограму панелі інструментів.

Важливим етапом створення будь-якого додатка є відлагодження VB коду та пошук і усунення помилок.

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

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

Усі помилки, які можуть виникати при створенні та експлуатації додатка, поділяються на синтаксичні помилки, помилки компіляції та помилки часу виконання. Іноді ще говорять про логічні помилки, пов’язані з тим, що програма виконує не те, що хоче розробник, проте для середовища програмування це не помилка. Такого типу помилки знаходять та усувають на етапі тестування програми.

Синтаксичні помилки виникають у процесі неправильного введення коду. Це найпростіші помилки, оскільки їх знаходить редактор VB одразу після введення. До синтаксичних належать орфографічні помилки при введенні службових слів, імені змінної чи процедури. Щоразу як записується новий рядок коду чи змінюється існуючий, після переходу на інший рядок VBA аналізує цей рядок. Синтаксичний аналіз — процес розбиття оператора VBA на складові частини і визначення того, які частини є службовими словами, змінними чи даними. Після такого аналізу VBA компілює цей рядок. Компіляція — це перетворення вихідного коду процедури у такий вигляд. який VBA може безпосередньо виконати без необхідності знову його аналізувати. Саме після компіляції рядка здійснюється кольорове кодування різних частин (ключові слова — синім, коментарі — зеленим, решта текст — чорним кольором).

Редактор VB реагує на появу синтаксичної помилки відображенням вікна з повідомленням Compile error. При натисканні на кнопку Довідка можна отримати детальну інформацію про конкретну помилку.

Помилки компіляції проявляються лише в процесі фактичного виконання процедури. Вони виникають при спробі запустити підпрограму, що містить оператор, який VBA не може правильно зрозуміти. такого роду помилки виникають тоді, колив коді міститься оператор Option Explicit і використовується неописана змінна. При знаходженні такої помилки, компілятор поміщає курсор у те місце коду, де знайдено невідповідність.

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

Зазвичай, така помилка виникає при:

  • наявності виразу, результат якого приводить до математичного переповнення;

  • невідповідності типів змінних у виразах присвоєння чи в аргументах підпрограми;

  • спробі відкриття неіснуючого файла;

  • спробі виконання ділення на нуль та ін.

При знаходженні помилки виконання система може видати повідомлення про помилку компіляції або може з’явитись діалогове вікно з повідомленням про помилку та кнопками Continue (продовжити виконання процедури), End (завершити виконання процедури), Debug (перейти в режим відлагодження процедури), Help (одержати доступ до довідкової системи VBA).

Для тестування та відлагодження програми, середовище VBA містить засоби інтерактивного відлагодження коду, зокрема команди меню Відлагодження (Debug) та відповідні кнопки однойменної панелі інструментів.

Написання процедури здійснюється в режимі розробки. Виконання команди Виконати (Run) запускає режим виконання. Цей режим підтримується середовищем редактора VB і розробник програмного коду може призупинити виконання коду в потрібному місці для відлагодження програми, тобто перейти в режим переривання (зупинки). У режимі переривання програма не виконується, але знаходиться у в оперативній пам’яті; в цьому режимі можна переглядати та змінювати значення змінних та виразів, а також переміщатися по коду процедури, виконуючи один або декілька операторів. Для перемикання режимів роботи використовуються команди меню Виконати (Run) та відповідні кнопки Stop, Break, End панелі інструментів Debug. Режим, в якому в поточний момент знаходиться система, завжди відображається в заголовку головного вікна Visual Basic (після назви документа в квадратних дужках).

У процесі відлагодження програми часто виникає потреба простежити за тим, як саме VBA виконує оператори і які значення набувають деякі змінні на різних етапах її виконання. Така можливість забезпечується покроковим виконанням процедури, яке дозволяє виконувати код програми чи окремих її частин по рядках, тобто по одному оператору за крок. Цей режим дозволяє виявити причини появи логічних помилок.

Перевести редактор VB в покроковий режим можна:

  • клацнувши по кнопці Debug у діалоговому вікні run-time-помилки — при цьому на екрані відобразиться код процедури з виділеним жовтим кольором оператором, який призвів до зупинки;

  • створивши одну чи декілька точок зупинки;

  • вставивши у текст програми оператор Stop;

  • скориставшись командою Відлагодження  Крок з заходом (Debug  Step Info);

  • натиснувши кнопку Break або Step Info на панелі інструментів Debug;

  • натиснувши клавішу F8.

Перейти в режим зупинки в момент виконання програми можна, натиснувши клавішу Esc або Ctrl + Break.

Виконання усієї процедури, яка містить багато операторів, у покроковому режимі займає зазвичай багато часу. Редактор VB передбачає можливість виконання більшої частини процедури з максимальною швидкістю, а зупинку лише тоді, коли це потрібно для перевірки окремих операторів коду. Для того, щоб редактор VB при виконанні процедури перейшов у режим зупинки, необхідно позначити спеціальним чином відповідний оператор, тобто створити точку зупинки. Точка зупинки діє до моменту закриття проекту, який містить модуль із нею.

Для того щоб встановити точку зупинки потрібно помістити курсор в оператор, з якого програма повинна працювати в покроковому режимі, і:

  • клацнути курсором миші зліва (на полі) від оператора, починаючи з якого необхідно працювати в покроковому режимі;

  • вибрати команду Відлагодження  Точка зупинки (Debug  Toggle Breakpoint);

  • натиснути кнопку Toggle Breakpoint на панелі інструментів Debug;

  • натиснути клавішу F9.

В результаті цього у вікні програми вибраний оператор буде забарвлений у темно-бордовий колір, а поруч із ним з’явить­ся темно-бордова точка зупинки.

Для того, щоб вийти з режиму зупинки та продовжити виконання програми у звичайному режимі, можна використати один із способів:

  • виконати команду Виконати  Продовжити (Run  Con­tinue);

  • натиснути кнопку Continue на панелі інструментів Debug;

  • натиснути клавішу F5.

Для того, щоб знищити точку зупинки, потрібно виконати команду Відлагодження  Зняти всі точки зупинки (De­bug  Clear All Breakpoint) або натиснути комбінацію клавіш Ctrl + Shift + F9.

Точки зупинки діють лише в процесі поточного сеансу роботи. Іноді, при написанні складних програм, відлагодження може зайняти декілька сеансів. При цьому доведеться щоразу розміщувати точки зупинки у тексті процедури. Для того, щоб уникнути цього, використовують оператор Stop. Оператор створює постійну точку зупинки у процедурі.

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

Знищити постійну точку зупинки можна, лише знищивши сам оператор.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]