Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УВЕДЕННЯ в VBA.doc
Скачиваний:
17
Добавлен:
05.03.2016
Размер:
231.42 Кб
Скачать

Структура проекту vb

Перед розглядом питання проектування інтерфейсу додатка на Visual Basic, необхідно представляти, з чого взагалі складається цей проект?

У Visual Basic будь-який проект складається з наступних файлів:

файл кожної форми (розширення frm). Це звичайний ASCII текстовий файл, у якому записаний весь код, поміщений у форму, а також властивості всіх поміщених на форму елементів керування і самої форми теж.

файл кожної форми, що містить бінарну інформацію (наприклад картинку в PictureBox) (розширення frx)

файл проекту, що містить інформацію про проект (розширення vbp)

інформація про робочу область проекту (workspace) (розширення vbw)

Це необхідний мінімум. (Хоча, бувають і виключення, наприклад, коли в проекті не використовуються форми. Тоді замість frm файлу, буде bas файл.)

Далі перелічимо додаткові файли, що можуть бути підключені до проекту:

файл кожного модуля (розширення bas) Це текстовий файл.

файл кожного модуля класів (розширення cls). Це текстовий файл.

файл кожного додаткового елемента керування (розширення ctl) Це теж текстовий файл.

файл ресурсів (розширення res)

інші файли (ocx, tlb, і т.д...)

Запам'ятовувати призначення всіх цих файлів не обов'язково, досить запам'ятати 2 файли: frm-файл, у якому зберігаються код форми і властивості всіх поміщених на дану форму елементів керування. І bas-файл - модуль. У ньому можуть бути оголошені глобальні перемінні, константи, функції і т.д.

Редактор vba

Редактор VBA активізується з робочої книги MS Excel через виконання команд <Сервіс   Макрос Редактор Visual Basic> або комбінацією клавіш <Alt> + <F11>. Вийти з редактора в робочу книгу можна через виконання комбінації клавіш <Alt> + <F11> або іншим способом.

Інтерфейс редактора VBA включає наступні основні компоненти: вікно проекту (Project Explorer), вікно властивостей (Properties Window), вікно редагування коду (Code), вікно редагування форм (UserForm), вікно перегляду об'єктів (Object Browser), меню і панелі інструментів.

1.1.Вікно проекту (Project Explorer)

Вікно проекту в редакторі VBA призначено для швидкого одержання інформації про різний складового проекту. Такими складовими є форми (Forms), модулі (Modules) і посилання (References). Це вікно активізується виконанням команди <ViewProject Explorer > або натисканням кнопки < Project Explorer> на панелі інструментів, або комбінацією клавіш <Ctrl> + <R>. У вікні проекту (VBAProject) представлена ієрархічна структура файлів форм і модулів поточного проекту. У проекті автоматично створюється модуль для кожного робочого листа і для всієї книги. Крім того, модулі створюються для кожної користувальницької форми, макросів і класів.

Модулі, зв'язані з робочою книгою, робочими аркушами, формами, і модулі класу відносяться до модулів об'єктів.

Модулі, що містять макроси, додаються в проект командою < Insert    Module >.

Форми створюються командою < Insert    UserForm>, а модулі класу – командою < Insert    Class Module >.

В міру створення, додавання і видалення файлів із проекту ці зміни відображаються у вікні проекту.

За допомогою вікна проекту можна додати або видалити який-небудь об'єкт із проекту. Для додавання в проект модуля, крім розглянутих вище способів, досить натиснути праву кнопку миші у вікні проекту й у появившет контекстному меню вибрати потрібну команду (< Insert    Module >,< Insert    Class Module >). Видалення файлу з вікна проекту виробляється вибором значка файлу з наступним виконанням команди < Delete >.

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

Вікно проекту можна використовувати також для швидкої навігації по формах проекту або програмному кодові. Для цього досить натиснути кнопки <View Object> або <View Code> у вікні проекту або в контекстному меню. Контекстне меню викликається натисканням правої кнопки миші при перебуванні її покажчика в поле вікна проекту.

1.2.Вікно властивостей (Properties window)

У вікні властивостей перелічуються основні установки властивостей обраної форми або елемента керування. Використовуючи це вікно, можна переглядати властивості і змінювати їхньої установки. Для перегляду властивостей обраного об'єкта досить клацнути кнопку < Properties window > на панелі інструментів або вибрати команду < View    Properties window >.

Вікно властивостей складається з двох складових частин: верхньої і робочої. У верхній частині вікна властивостей розташовується список, що розкривається, з якого можна вибрати элемент елемент керування поточної форми або саму форму. Робоча частина складається з двох вкладок: <Alphabetic> (За алфавітом) і <Categorized> (По категоріях), що відображають набір властивостей за абеткою або по категоріях. В обох вкладках властивість Name (ім'я елемента керування) буде першим.

Значення властивостей змінюються одним з наступних способів:       - уведенням із клавіатури значення властивості у відповідне поле;       - вибором зі списку властивостей, що розкривається, що активизи - руется щигликом у відповідному полі вікна властивостей.

     

1.3.Вікно редагування коду (Code)

Вікно Code (Програма) представляє текстовий редактор, призначений для написання і редагування тексту програми. Це вікно з'являється на екрані, наприклад, при створенні нового модуля. Для його виклику досить виконати подвійний щиглик мишею на формі або модулі у вікні проекту. Виклик вікна Code можна також здійснити виконанням команд: <View    Code> або <View    Project Explorer    View Code>.

У верхній частині вікна програми присутні два раскрывающихся списки: Object (Об'єкт) і Procedure (Процедура). Їхній уміст залежить від того, з яким модулем у даний момент йде робота. У випадку модуля форми список Object дозволяє вибрати об'єкт, для якого у вікні програми будуть відображатися процедури. Список Procedure дозволяє вказати процедуру об'єкта, обраного в списку Object. При цьому у вікні програми відобразиться текст процедури.

Деякі властивості списку Object:

- якщо робота ведеться зі стандартним модулем, то в списку        Object вибрати об'єкти не можна;

- якщо робота ведеться з модулем класу, то в цьому списку можна       вибрати елементи General і Class. При цьому якщо в списку        Object обраний елемент Class, те в списку Procedure        автоматично стають доступними процедури Initialize і        Terminate;

- якщо в списку Object обраний елемент General, а в списку        Procedure – Declarations, те в даному розділі встановлюються        деякі режими роботи редактори Visual Basic і з'являються        перемінні рівня модуля.

Два раскрывающихся списки у верхній частині вікна редактори коду полегшують орієнтацію в процедурах. Лівий список, що розкривається, дозволяє вибрати керуючий елемент або форму, а правий - містить список подій, припустимих для обраного в лівому списку об'єкта. При виборі елемента керування у формі за допомогою подвійного щиглика кнопкою миші або при переміщенні покажчика на елемент керування і натисканні кнопки <View Code> (Програма) відкривається вікно редагування коду саме в тім місці, де розташовується процедура, зв'язана з цим елементом керування. Зворотний перехід від процедури до об'єкта керування швидше всего здійснюється натисканням кнопки < Object > (Об'єкт).

Вікно редагування коду служить також як редактор для введення і зміни коду процедур додатка. Код усередині модуля організований у виді окремих розділів для кожного об'єкта, програмувального в модулі. У вікні редагування доступні два режими представлення коду: перегляд окремої процедури і всього модуля. Переключення режимів роботи вікна редагування коду здійснюється вибором однієї з двох кнопок у нижньому лівому куті вікна редагування коду <Procedure view> і <Full Module view>, або установкою або зняттям прапорця <Default to Full Module View> (Перегляд усього модуля) вкладки < Editor > (Редактор) діалогового вікна < Options > (Параметри), відображуваного на екрані командою <Tools    Options > (Сервіс, Параметри).

Написання програм істотно полегшується за рахунок здатності редактори коду автоматично завершувати написання операторів, властивостей і параметрів. При написанні коду редактор сам пропонує користувачеві список компонентів, що логічно завершують інструкцію, що вводиться. Наприклад, набираючи код Dim abc As, після As на екрані відобразиться список найменувань типів даних, що логічно завершують дану інструкцію. Подвійний щиглик на обраному елементі з цього списку або натискання клавіші <Tab> вставляє обране ім'я в код програми. Автоматичне відображення списку компонентів відбувається тільки при встановленому прапорці <Auto List Members> (Список компонентів) вкладки <Editor> діалогового вікна <Options> (Параметри), відображуваного на екрані після введення команди <Tools    Options> (Сервіс, Параметри).

Список компонентів можна виводити на екран натисканням комбінації клавіш <Ctrl> + < J >, при цьому список відображається як при встановленому, так і при знятому прапорці < Auto List Members> (Список компонентів).

Після набору імені процедури, функції, властивості або методу, так само як і в попередньому випадку, відбувається автоматичне відображення зведень про процедури, функції, властивості і методах. Автоматичне відображення цих зведень відбувається тільки при встановленому прапорці <Auto Quick Info> (Короткі зведення) вкладки <Editor> (Редактор) діалогового вікна <Options> (Параметри), відображуваного на екрані після виконання команди <Tools    Options> (Сервіс, Параметри).

Описану вище спливаючу підказку можна одержати також натисканням комбінації клавіш < Ctrl > + < I >. При цьому спливаюча підказка відображається як при встановленому, так і при знятому прапорці <Auto Quick Info> (Короткі зведення).

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

Якщо курсор розташувати на ключовому слові мови VBA, імені процедури, функції, властивості або методу і натиснути клавішу <F1>, то на екрані з'явиться вікно з довідковою інформацією. Звичайно в довідці мається приклад використання коду, що дозволяє швидко розібратися в ситуації, що виникла при написанні програми.

1.4.Вікно редагування форм (UserForm)

Для створення засобів спілкування з користувачем у проект включаються форми, що являють собою типові вікна Windows.

Вони мають рядок заголовка з кнопками керування і системним меню, а також можливості керування мишею. Усе це не треба програмувати. Форма, включена в проект, має ці властивості. Порожня поверхня форми (сіре тло, покритий сіткою) заповнюється в процесі проектування [1].

Редактор форм є одним з основних інструментів візуального програмування. Форма в проект додається за допомогою команди <Insert    UserForm> (Вставка, Форма) або натисканням кнопки <Insert UserForm> (Уставити UserForm). У результаті на екран виводяться незаповнена форма і панель інструментів <Toolbox> (Панель елементів).

Використовуючи панель інструментів <Toolbox> (Панель елементів), з незаповненої форми можна сконструювати будь-яке необхідне для додатка діалогове вікно. Розміщення нового керуючого елемента у формі здійснюється в наступному порядку:

- клацнути мишею на панелі інструментів по значку того елемента,        що потрібно розмістити на поверхні форми;

- помістити покажчик миші на те місце у формі, де буде        розташовуватися керуючий елемент;

- натиснути ліву кнопку миші і, не відпускаючи неї, розтягти появив-        шийся прямокутник до необхідних розмірів;

- відпустити кнопку миші. Елемент керування створений на потрібному        місці.

Розміри форми і розташованих на ній елементів керування можна змінювати. Технологія зміни розмірів стандартна для Windows:

- виділити змінюваний елемент;

- помістити покажчик миші на одному з розмірних маркерів і        протягти його при натиснутій лівій кнопці миші так, щоб        об'єкт прийняв необхідні розміри;

- відпустити кнопку миші і скасувати виділення елемента.

Вікно редагування форм підтримує операції буфера обміну. Таким чином, можна копіювати, вирізувати і вставляти елементи керування, розташовані на поверхні форми. Для полегшення розміщення і вирівнювання елементів керування використовується сітка форми. Активізувати її можна за допомогою вкладки <General> (Загальні) діалогового вікна <Tools    Options> (Сервіс, параметри), там же встановлюється крок сітки. Крім того, команди меню

<Format> (Формат) автоматизують і полегшують процес вирівнювання елементів керування, як по їхньому взаємному місцю розташування, так і по розмірах.

1.5.Вікно перегляду об'єктів (Object Browser)

Вікно перегляду об'єктів призначено для перегляду структури відповідного класу об'єктів, доступних при створенні програми.

Вікно <Object Browser> (Перегляд об'єктів) викликається командою < View    Object Browser > (Вид, Перегляд об'єктів) або натисканням кнопки <Object Browser> (Перегляд об'єктів) на панелі інструментів. У цьому вікні приведений список всіх об'єктів, що маються в системі і які можна використовувати при створенні проекту. Вікно перегляду об'єктів складається з трьох основних частин:

- списку <Project/Library> (Проект/Бібліотека) у лівому верхньому        куті вікна. У цьому списку, що розкривається, можна вибрати раз - особисті проекти і бібліотеки об'єктів. Зокрема, бібліотеки        об'єктів Excel, VBA, Office і VBA Project (об'єкти пользова-        тельского проекту). Вибір у списку рядка <All Libraries >        (Усі бібліотеки) відображає список об'єктів усіх бібліотек;   - списку < Classes > (Класи). Після вибору зі        списку, що розкривається, <Project/Library> (Проект/Бібліотека)        бібліотеки, що переглядається, наприклад VBA, усі класи об'єктів обраної библи        - набряки виводяться в списку < Classes > (Класи) ; - списку <Members> (Компоненти). Після вибору класу зі списку        <Classes> (Класи) бібліотеки, що переглядається,        наприклад FileSystem, усі компоненти обраного класу виводяться в        списку < Members > (Компоненти). При виділенні рядка в цьому списку        в нижній частині вікна < Object Browser > (Перегляд об'єктів)        приводиться додаткова інформація про обраний компонент.

Це вікно можна використовувати також для пошуку методу або властивості об'єкта. Щоб знайти яка-небудь властивість або метод, необхідно виконати наступний порядок дій:

- у редакторі програми відкрити потрібний модуль;

- на панелі інструментів натиснути кнопку <Object Browser>;

- у списку, що розкривається, <Project/Library> вибрати        потрібну бібліотеку;

- позначити потрібний об'єкт у списку <Classes>;

- вибрати підходящий метод або властивість, використовуючи список        <Members Of> (Компонент).

Крім того, якщо натиснути на кнопку <Help> (Довідка), розташовану на панелі інструментів у правій верхній частині вікна <Object Browser> (Перегляд об'єктів), те на екрані відобразиться вікно < Microsoft Visual Basic Help > (Довідник Visual Basic) з докладною інформацією про виділений компонент

1.6.Налагодження програм

Будь-яка досить об'ємна програма вимагає налагодження, що складається в пошуку й усуненні помилок. У програмах не робив помилок тільки той, хто ніколи не писав них. Отже, помилки – це об'єктивна неминучість або реальне втілення цієї неминучості

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

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

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

Логічні помилки обумовлені порушенням логіки рішення тієї або іншої задачі. Наприклад, перекручуванням методу рішення задачі, помилковим записом математичної функції й інші. Ці помилки не заважають виконанню програми (не приводять до її переривання). Їхній прояв можна знайти за результатами рішення задачі, тому що вони будуть невірними.

Деякі з помилок першого типу виявляються на стадії написання тексту програми у вікні <Code> (Програма). При цьому неправильно написаний рядок тексту програми після натискання клавіші <Enter> виділяється червоним кольором і на екрані відображається діалогове вікно з повідомленням про можливу причину, що викликала помилку. Цю помилку треба визначити і відразу усунути. Інші помилки, не виявлені при написанні тексту програми, виявляються або при компіляції програми без її виконання <Debug> => <Compile> (Налагодження, Компілювати), або при виконанні програми, тому що VBA щораз автоматично неї компілює при запуску на виконання. У цих випадках передбачуване місце помилки виділяється синім кольором і на екрані відображається діалогове вікно <Microsoft Visual Basic> з повідомленням про можливу причину, що викликала помилку. Цю помилку треба визначити і відразу усунути.

При виявленні помилок під час виконання програми на екрані відображається діалогове вікно <Microsoft Visual Basic> з повідомленням про номер помилки і можливій причині, неї що викликала. У цьому випадку, якщо в діалоговому вікні натиснути кнопку <Debug> (Налагодження), те в тексті програми жовтим кольором буде виділений рядок, що викликав помилку, і через яку було перерване виконання програми. Крім того, на лівому полі вікна <Code> проти цього рядка з'явиться стрелочка. При такій ситуації VBA переходить у режим переривання, що дозволяє більш детально визначити причину помилки. Тут з'являється можливість довідатися поточні значення перемінних і властивостей. Для цього досить розташувати покажчик миші на імені перемінної або властивості, що викликає появу спливаючої підказки з поточним значенням перемінної або властивості. Однак для установки режиму спливаючої підказки попередньо необхідно за допомогою команди <Tools> => <Options> (Сервіс, Параметри) у діалоговому вікні <Options> (Параметри) установити прапорець <Auto Data Tips> (Підказки значень даних).

Сутужніше всего знайти й усунути логічні помилки. Їхня локалізація зв'язана з ретельним аналізом алгоритму програми і залученням засобів налагодження VBA.

До логічних помилок відносяться і випадкові помилки, що виникають при написанні в складі імен перемінних букв іншого алфавіту, однакових по їх накресленню. Наприклад, російська буква <з> замість латинської букви <c> або навпаки. Візуально імена з такими помилками не відрізняються друг від друга, але при виконанні програми вони сприймаються як імена різних перемінних. Найпростішим засобом запобігання таких помилок є інструкція <Option Explicit>, що пишеться найпершої на початку програми. Ця інструкція вимагає явно описувати всі перемінні, що зустрічаються в програмі, що дозволяє компіляторові вказати на перемінну з неправильною буквою як на неописану перемінну. Тоді помилка легко виявляється і швидко усувається.

Інші логічні помилки можуть бути виявлені при покроковому виконанні програми, тобто налагодження програми в покроковому режимі. Використання цього режиму дозволяє бачити результати виконання кожного рядка програми.

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

- у процесі виконання програми виконати команду        <Run> => <Break> (Запуск, Перервати). У цьому випадку відобразиться        рядок програми, на якій було перервано її виконання;

- установити крапку останова;

- запустити програму не через команди меню <Run> (Запуск), а        через команди меню <Debug> (Налагодження), команди якого предна-        значены для покрокового налагодження програм;

- додати інструкцію (команду) <Stop> у програму (у прогнози-        руемом місці помилки).

При пошуку логічної помилки у великий по обсязі програмі іноді доцільно її налагодження робити вроздріб. Для цього передбачена крапка останова. Крапка останова – це рядок програми, на якій автоматично припиняється виконання програми.

Для установки крапки останова необхідно виконати наступні дії:

- у вікні програми установити курсор на рядку, де потрібно зупинити програму;

- виконати команду <Debug> => <Toggle Breakpoint> (Налагодження, Крапка останова) або натиснути кнопку <Toggle Breakpoint> на панелі інструментів <Debug>.

Установити крапку останова можна більш швидким способом. Для цього напроти рядка, у якій потрібно установити крапку останова, у лівому полі вікна програми (на поле смуги індикатора) необхідно клацнути кнопкою миші.

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

Для скасування (зняття) крапки останова необхідно виконати команду <Debug> => <Clear All Breakpoint> (Налагодження, Зняти всі крапки останова) або установити курсор на рядок із крапкою останова і натиснути кнопку <Toggle Breakpoint> на панелі інструментів <Debug>, а також щигликом кнопкою миші в області смуги індикатора напроти потрібного рядка.

Для виконання програми в покроковому режимі через меню <Debug> можливі чотири варіанти.

Здійснення послідовної крок за кроком налагодження всієї програми з заходом в усі діючі процедури, написані при складанні програми. Для цього використовується команда <Debug> => <Step Into> (Налагодження, Крок із заходом), або кнопка <Step Into> (Крок із заходом) на панелі інструментів <Debug> (Налагодження).

Здійснення послідовної крок за кроком налагодження всієї програми, крім заходу в усі діючі процедури з числа стандартних (убудованих) процедур. Такі процедури виконуються цілком. Для цього використовується команда <Debug> => <Step Over> (Налагодження, Крок з обходом), або кнопка <Step Over> (Крок з обходом) на панелі інструментів <Debug> (Налагодження).

Здійснення послідовної крок за кроком налагодження з завершенням виконання поточної процедури і виходом із зупинкою на рядок, що випливає за рядком, що викликав процедуру. Для цього використовується команда <Debug> => <Step Out> (Налагодження, Крок з виходом), або кнопка <Step Out> (Крок з виходом) на панелі інструментів <Debug> (Налагодження).

Виконання програми до рядка, на якій установлений курсор. Для цього використовується команда <Debug> => <Run to Cursor> (Налагодження, Виконати до поточної позиції).

При налагодженні програм іноді необхідно знати значення перемінної або вираження (наприклад, для виявлення місця логічної помилки). Для одержання такої можливості передбачені вікна:

- діалогове вікно Watches (Контрольні значення);

- діалогове вікно Locals (Локальні перемінні).

Виклик вікна Watches здійснюється командою <View> => <Watches Window> (Вид, Вікно контрольних значень) або натисканням кнопки <Watches Window> на панелі інструментів <Debug>. Це вікно дозволяє переглядати значення (Value), тип (Type) і контекст (Context) для кожного використовуваного в програмі вираження (Expression). Під контекстом розуміється область, де вираження може мати значення.

Для того щоб проконтролювати значення якого-небудь вираження отлаживаемой програми, необхідно використовувати діалогове вікно <Add Watch> (Додати контрольне значення). Виклик вікна здійснюється командою <Debug> => <Add Watch> (Налагодження, Додати контрольне значення). Розглянуте вікно містить наступні елементи керування.

Поле Expression (Вираження), призначене для уведення        вираження.

Роздягнув Context (Контекст), що містить два раскрывающихся        списки: Procedure (Процедура) і Module (Модуль). Перший        призначений для вибору процедури, у контексті якої        буде розглядатися перемінна. Другий список дозволяє        вибрати модуль, у контексті якого буде розглядатися        вираження.

Група перемикачів <Watch Type> (Тип контрольного       значення), що дозволяє установити один з режимів перегляду:

     - перегляд вираження <Watch Expression> (контрольне             вираження);

     - режим зупинки програми, якщо значення вираження             істинно <Break When Value Is True>;

     - режим зупинки програми, якщо змінилося значення             вираження <Break When Value Changes>.

Редагування параметрів контрольного вираження, а також видалення його з вікна контрольних значень здійснюється за допомогою діалогового вікна <Edit Watch> (Зміна контрольного значення). Це вікно викликається командою <Debug> => <Edit Watch> (Налагодження, Зміна контрольного значення). По наборі елементів керування воно є повним аналогом вікна <Add Watch>.

Для швидкого перегляду значення вираження, обраного у вікні програми або у вікні налагодження, або для додавання контрольного значення призначене діалогове вікно <Quick Watch>. Виклик цього вікна здійснюється натисканням кнопки <Quick Watch> (Контрольне значення) на панелі інструментів <Debug>.

Для перегляду значень перемінні поточні процедури призначене вікно локальних перемінних <Locals Window>. Перед викликом цього вікна необхідно призупинити виконання програми, а потім виконати команду <View> => <Locals Window> (Вид, Вікно локальних перемінних) або скористатися кнопкою <Locals Window> панелі інструментів <Debug>. У вікні локальних перемінних автоматично виводяться імена, що течуть значення і типи всіх перемінних і об'єктів поточні процедури. Це вікно відображає перемінні тільки в режимі переривання програми. При кожнім перериванні програми відбувається відновлення усіх відображуваних у вікні перемінних.

Швидка перевірка виконання тієї або іншої інструкції програми може бути здійснена за допомогою вікна перевірки <Immediate Window>. Це вікно дозволяє вводити інструкцію і відразу виконати її шляхом натискання клавіші <Enter>. При цьому інструкція повинна бути записана в один рядок.

Приклад: <s = 0: For I = 1 to 5: s = s + I^2: Next I: MsgBox s >.

У даному вікні можна визначати поточні значення перемінних і властивостей. Для цього у вікні потрібно ввести знак питання, ім'я перемінної або властивості і натиснути клавішу <Enter>. Наприклад:<?x >. А також установити нові поточні значення перемінних шляхом введення у вікні імені перемінної, знака дорівнює і нового значення перемінної. Наприклад: < x = 12 >. Команда виклику вікна перевірки <View> => => => <Immediate Window> [

.Контрольні питання

.Способи активізації редактори VBA.

Основні компоненти редактора VBA.

Способи активізації вікна проекту.

Призначення і можливості вікна проекту.

Способи відкриття вікна редагування коду.

Призначення і можливості вікна редагування коду.

Призначення і можливості вікна властивостей.

Способи відкриття вікна властивостей для перегляду властивостей об'єкта.

Призначення і склад вікна перегляду об'єктів.

Способи виклику вікна перегляду об'єктів.

Призначення і можливості вікна редагування форм.

Типи можливих помилок у програмах.

Як виявляються помилки компіляції?

Причини виникнення помилок виконання.

Призначення інструкції Option Explicit.

Логічні помилки і можливі способи їхнього виявлення.

Проектування інтерфейсу.

Запустите Visual Basic. Виберіть тип Standart EXE.

Потрібні елементи керування виділені червоним кольором. Для чого потрібні ці елементи? Елемент мітка (Label) потрібний для відображення тексту. Т.е. служить як би підказкою. У ньому ми будемо виводити наш дискрименант і корені. Елемент текстове поле (TextBox) призначений для введення користувачем інформації. Введену інформації можна легко одержати в коді програми. Для цього в TextBox є властивість Text. Ну, і нарешті, елемент кнопка (CommandButton), потрібний для запуску деякої дії. У нашому випадку дією буде рішення квадратного рівняння. А запускатися воно буде при натисканні на кнопку.

Розмістити елементи керування краще в такий спосіб: помістите спочатку на форму елемент Label. У вікні Properties зміните властивість Caption цього елемента на "A:". Потім перетягнете на форму елемент TextBox так, щоб він виявився поруч з елементом Label. Видалите текст з елемента TextBox (свойтво Text). Потім виділите обох цих елементів (використовуючи Ctrl) і скопіюйте них у буфер обміну клавішами Ctrl+C. Далі натисніть Ctrl+V. Visual Basic запитає вас, потрібно чи створити масив з елементів керування, що вставляються? Відповісти Немає. Тепер на формі з'явилася копія елементів Label і TextBox (для параметра B). Скопіюйте в такий же спосіб елементи для параметра C. У кнопки зміните властивість Caption на "Вирішити!". Змінюючи властивість Caption кнопки, ви, тим самим змінюєте текст на самій кнопці. (Якщо цього не зробити, те користувачеві нашої програми важко було б догадатися, що ж відбудеться при натисканні на кнопку Command1!?). Зверніть увагу на кнопки керування формою (праворуч угорі). Їхньої 3 штуки: згорнути, розгорнути і закрити. Кнопка розгорнути нашій формі зовсім ні до чого. Давайте її заберемо. Для цього виділите форму (клацніть по ній) і у вікні Properties відредагуйте властивість BorderStyle. Вам запропонують вибрати кілька значень зі списку, а саме:

0-None - у форми не буде заголовка і кнопок керування. 1-Fixed Single - форма буде мати заголовок і одну кнопку - закрити. 2-Sizeable - задається за замовчуванням. Форма має всі 3 кнопки. 3-Fixed Dialog - те ж, що і 1, але форму не буде видно на панелі задач 4-Fixed ToolWindow - скорочений вид заголовка й одна кнопка - закрити 5-Sizeable ToolWindow - те ж що і 4, але можна змінювати розміри форми

Укажіть 1 номер (Fixed Single). Зверніть увагу на кнопки керування - залишилася тільки одна - закрити форму. Але куди ж ділася кнопка згорнути? Вона могла б нам придатися! Давайте повернемо неї. Для цього потрібно установити властивість форми MinButton у True. Тепер всі ОК.

Ну й останній штрих. Зделаем текст "Результати рішення" підкресленим. Для цього виділите Label і знайдіть у вікні Properties властивість Font. Якщо виділити ця властивість, то праворуч з'явиться маленька кнопочка, при натисканні на яку відкриється вікно вибору шрифту. Можливо це вікно ви вже десь бачили. Наприклад при виборі шрифту в Блокноті. Справа в тім, що це вікно - одне з загальних діалогів Windows (Common Dialogs). До них відносяться такі вікна, як "Відкриття файлу", "Збереження файлу", "Настроювання принтера", "Вибір кольору", "Вибір шрифту", "Вибір каталогу", "Пошук і заміна тексту". такі вікна не потрібно створювати самому. Їх надає Windows. Отже, у вікні вибору шрифту поставте галочку - Підкреслений. Натисніть ОК.

Ви вже напевно давно помітили той факт, що в різних елементів керування деякі властивості часто повторюються (про це я говорив на попередніх уроках). Наприклад властивість Caption, Name або властивість Font. Більш того, властивість Name є в БУДЬ-ЯКОГО елемента керування. Це зв'язано з объектно орієнтованим програмуванням (ООП). Ми не будемо докладно на цьому зупинятися, тому що зараз це не настільки важливо. Пізніше, я постараюся торкнутися цієї теми і розповісти про ООП. А поки прийміть це як факт.

Зверніть увагу на імена (властивість Name у вікні Properties) тільки що створених елементів. Label1, Label2... Text1, Text2.... Command1. При створенні нового елемента Visual Basic завжди дає такі імена сам. У наслідку вони можуть бути змінені. Узагалі, імена елементів керування дуже важлива річ. Такі ж важлива, як імена перемінних. По цих іменах ви будете звертатися до ваших елементів керування в коді програми. Існують деякі рекомендації з іменуванню елементів керування. Завжди дотримуйте їх!

Давайте перейменуємо елементи керування. Для цього зміните властивість Name кожного елемента керування відповідно до таблиці:

Призначення елемента керування

Ім'я (властивість Name)

A: - параметр A

txtParam

B: - параметр B

txtParam

C: - параметр C

txtParam

Кнопка для запуску рішення

cmdCalculate

Label, з обчисленим дискримінантом

lbl

Label, з коренем X1

lbl1

Label, з коренем X2

lbl2

Форма, що містить усі ці елементи

frmMain

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

Інтерфейс готовий. Він звичайно не претендує на звання самого зручного і красивого інтерфейсу року ;), але для початку зійде. Усе рівно, надалі, уже після написання коду програми, ви зможете змінити інтерфейс по вашому смаку.