Загальна характеристика елементів мови програмування VBA (Visual Basic for Application)

Тип работы:
Реферат
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Загальна характеристика елементів мови програмування VBA (Visual Basic for Application)

Содержание

  • Вступ
  • 1. Мова VBA і її можливості
  • 2. Редактор Visual Basic
  • 3. Створення і виконання VBA-програм
  • 4. Типи даних, змінні і константи
  • 5. Операції і вирази
  • 6. Керуючі оператори
  • 7. Процедури і функції

Вступ

VBA (Visual Basic for Application) — це мова програмування, підтримувана всіма застосуваннями пакета Microsoft Office 2007, до складу якого входять такі популярні застосування, як Microsoft Assess, Microsoft Excel, Microsoft PowerPoint, Microsoft Word і ін.

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

Загальні елементи: поле Ім'я макросу — тут указується ім'я записуваного нового макросу. За умовчанням VBA поміщає в це поле значення Макрос1; поле Опис — в нього записується довільний текст, тобто коментар про те, для чого призначений даний макрос. За замовчуванням VBA заповнює це вікно інформацією про те, де і ким був створений даний макрос (дата запису макросу і ім'я користувача); Список Макрос — містить перелік тих документів, в яких створюваний макрос може зберігатися, — виберіть у ньому той документ, в якому слід зберегти створюваний новий макрос. Слід зазначити, що в Word 2007 макроси можуть зберігатися тільки у файлах документа формату. docm або у файлах шаблонів документів формату. dotm. Крім того, макрос можна зберегти в документі або шаблоні формату Word 97−2003 (. doc або. dot). У Excel 2007 макроси можна зберегти в робочій книзі формату. xlsm або. xlsb, а також документах формату Word 97 — 2003 (. xls).

1. Мова VBA і її можливості

При записі макросу в будь-якому з вибраних застосувань (у Microsoft Word, Excel або PowerPoint) всі виконані вами дії будуть записані у вигляді послідовності відповідних операторів мови VBA. Вся сукупність цих операторів називатиметься початковим кодом, або кодом макросу.

Для виконання макросу в будь-якому із застосувань в Microsoft Office 2007 (Word, Excel або PowerPoint) його необхідно спочатку вибрати в списку доступних, а потім запустити.

Файл документа відповідного типу будь-якого з VBA-застосувань може містити один або декілька модулів або не містити їх взагалі. Модулям, що зберігаються в документах Word, за замовчуванням привласнюється загальна назва Project (проект), а документах Excel — VBAProject.

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

У кожному VBA-застосуванні є свій унікальний набір об'єктів з їх власними властивостями (характеристиками даного елементу) і методами (командами для тієї або іншої обробки цих властивостей). В результаті доступ до властивостей об'єкта (тобто характеристикам стану деякого елементу в застосуванні) можливий тільки за допомогою його власних методів (тобто спеціально підготовлених команд обробки цих властивостей).

Подія - це деяка дія, яку можна виконати відносно об'єкта і на яку, отже, необхідно запрограмувати у відповідь реакцію даного об'єкта (відгук).

2. Редактор Visual Basic

Редактор VBA (Visual Basic Editor) використовується для: створення нових модулів, редагування вже існуючих модулів; створення і редагування початкового коду макросу; створення призначених для користувача вікон; для вирішення багатьох інших завдань, які відносяться до написання і обслугову-вання програм мовою VBA.

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

Основні вікна редактора VBA:

вікно проекту (Project Explorer), що надає швидкий доступ до вікон програмного коду і призначених для користувача форм;

вікно властивостей (Properties Window), що дозволяє переглянути і змінити значення властивостей об'єкта будь-якого типу (проекту, модуля, форми), який в даний момент активний;

вікно програми (Code), що дозволяє переглядати, редагувати і створювати початковий код мовою VBA.

Меню редактора VBA:

1. Меню File (Файл) містить команди, необхідні для збереження змін в проекті VBA і виведення на екран або на друк початкового коду макросів.

2. Меню Edit (Правка) містить команди, призначені для керування початковим кодом макросу у вікні Code, а також об'єктами у формах.

3. Меню View (Вигляд) містить команди, що дозволяють виводити або прибирати з екрана різні вікна редактора VBA.

4. Команди меню Insert (Вставка) дозволяють додавати в проект різні об'єкти — процедури, модулі, форми, класи та ін.

5. Меню Format (Формат) містить команди, використовувані при створенні призначених для користувача діалогових вікон. Команди цього меню дозволяють вирівнювати об'єкти у формі по відношенню один до одного, настроювати розміри і зовнішній вигляд елементів керування, а також виконувати багато інших операцій.

6. Меню Debug (Налагодження) містить команди, призначені для тестування і налагодження макросів. Команди меню Debug дозволяють запустити макрос із заданої точки, відстежувати виконання макросу по кроках і зупиняти виконуваний макрос у будь-який момент його виконання.

7. Меню Run (Запуск) містить команди, призначені для запуску макросу на виконання, переривання або відновлення його роботи, а також для повернення перерваного макросу в початковий стан.

8. Меню Tools (Сервіс) містить, зокрема, команди, що дозволяють вибрати макрос для виконання або дістати доступ до зовнішніх бібліотек макросів. За допомогою інших команд цього меню можна отримати доступ до діалогового вікна Option (Параметри) редактора VBA і вікна властивостей проекту VBA.

9. Меню Add-Ins містить всього одну команду — Add-In Manager, при виборі якої на екрані відображається діалогове вікно Add-In Manager. У цьому вікні можна завантажувати або вивантажувати, реєструвати і визначати поведінку програм-доповнень (надбудов).

10. Окрім вказаних вище меню, в редакторі VBA є ще два додаткові меню: Window (Вікно) і Help (Довідка). Команди цих меню ідентичні командам в меню Window і Help будь-яких інших застосувань Windows.

Панелі інструментів редактора VBA:

1. Standard (Стандартна). Ця панель виводиться на екран при першому запуску редактора VBA. Панель інструментів Standard містить 19 кнопок, які виконують найрізноманітніші функції: збереження результатів роботи, додава-ння нових форм і модулів, а також редагування і виконання програм.

2. Edit (Правка). Кнопки цієї панелі інструментів дозволяють редагувати текст у вікні Code (вікно програмного коду). Вони дублюють команди меню Edit.

3. Debug (Налагодження). Кнопки цієї панелі дозволяють запустити програму на виконання, простежити за ходом її роботи, а також виявити різні помилки у налагоджуванні програм.

4. UserForm (Призначена для користувача форма). Ця панель використовується при проектуванні форм. Багато її кнопок дублюють команди меню Format.

мова програмування visual basic

Вікно Object Browser (Оглядач об'єктів) подібно вікну проектів надає користувачеві засобу швидкого доступу до об'єктів, використовуваних в VBA-програмі.

Основні компоненти вікна Object Browser:

1. Список Project/Library. У цьому списку, що розкривається, можна вибрати будь-який з проектів або бібліотек застосувань, доступних в поточному проекті. Наприклад, при роботі з документом Word, крім проекту цього документа, в списку будуть присутні бібліотеки об'єктів Word, VBA, Office, шаблону Normal і т.д. Для того, щоб побачити перелік всіх об'єктів всіх доступних бібліотек і проектів, слід вибрати в списку значення < All Libraries> (Всі бібліотеки).

2. Список Classes. У цьому списку відображається склад об'єктів конкретної бібліотеки або проекту, вибраного в даний момент в списку Project/Library. Наприклад, якщо вибрати в списку Project/Library бібліотеку Word, то в списку Classes будуть відображені всі об'єкти цієї бібліотеки, тобто повний склад об'єктів застосування Word.

3. Список Members. У цьому списку відображається перелік компонентів класу, вибраного в даний момент в списку Project/Library. Наприклад, якщо в списку Project/Library відображається склад бібліотеки Word і в даний момент вибраний клас Application, то в списку Members буде поданий список всіх компонентів (властивостей і методів) цього класу.

Вибір конкретної процедури:

1. Список General (Загальний), розташований зліва, призначений для вибору із загального списку поміщених у форму об'єктів конкретного елементу керування або самої форми. В результаті такого вибору у вікні програмного коду буде відображений текст процедури, вибраної для даного об'єкта за замовчуванням.

2. Список Declarations (Оголошення), розташований справа, містить перелік методів обробки подій, допустимих для вибраного в лівому списку об'єкта. При виборі в правому списку деякої події у вікні програмного коду з’явиться текст процедури обробки цієї події. Якщо дана процедура ще не описана, буде виведена відповідна заготовка (Макрос 3).

Вікно властивостей об'єктів Properties призначене для перегляду і зміни властивостей будь-якого активного в даний момент об'єкта (проекту, модуля, форми, елементу керування) при роботі в редакторі VBA.

3. Створення і виконання VBA-програм

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

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

2. Процедура - це окрема одиниця програмного коду VBA, яку можна викликати по імені для виконання; вона може виконуватися самостійно. Будь-яка процедура містить один або декілька операторів.

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

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

Процедура — це комп’ютерна програма, яка виконує деякі дії з об'єктами і зберігається в модулі VBA. З такою, «програмною», з точки зору макрос — це теж процедура типу Sub, що не має вхідних параметрів. VBA-програма є певною послідовністю команд, які виконуються по порядку, одна за одною, при кожному запуску програми.

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

Найпростішими помилками, з якими ви неодмінно зіткнетеся при написанні процедур VBA, є помилки синтаксису (syntax error).

Вікно Options. Вкладка General:

Compile On Demand (Компіляція на вимогу). Установка цього прапорця обмежує код, який буде скомпільований при відкритті форми, тобто при виконанні компіляції компілюватимуться тільки використовувані функції;

Background Compile (Компіляція у фоновому режимі). При установці цього прапорця компілюється будь-який нескомпільований код.

4. Типи даних, змінні і константи

Змінна - це названа область комп’ютерної пам’яті, в якій зберігаються дані вказаного типу, які можуть змінюватися скільки завгодно раз по ходу виконання програми.

Присвоєння імені:

максимальна довжина імені змінної не може перевищувати 255 символів;

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

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

ім'я змінної не може містити пропусків, крапок, знаків окликів, а також символів @,#,$,%,& ;

як ім'я змінної не можна використовувати ключові слова мови VBA.

Область дії змінної:

1. Змінна, оголошена в процедурі, є доступною тільки в цій процедурі.

2. Змінна, оголошена в розділі оголошень модуля за допомогою ключових слів Private або Dim, є доступною тільки в межах цього модуля.

3. Змінна, оголошена в розділі оголошення модуля за допомогою ключового слова Publiс, є доступною для всіх модулів у всіх проектах.

Масив - це набір елементів однакового типу, що мають спільне ім'я.

Масиви дозволяють працювати з деяким набором однотипних даних як з єдиним цілим.

Динамічні масиви:

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

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

якщо при виконанні програми після завершення використання масиву необхідно звільнити займану ним пам’ять.

При написанні програми мовою VBA не обов’язково завжди використо-вувати тільки змінні, в деяких випадках зручніше і правильніше користуватися значеннями, які не мінятимуться впродовж всього ходу виконання програми. Такі значення прийнято називати константами.

5. Операції і вирази

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

Значення Empty в мові VBA є неініціалізованою змінною типу Variant; також це результат обчислення будь-якого виразу, в якому бере участь подібна неініціалізована змінна. Значення Null указує, що ця змінна не містить коректних даних.

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

Оператор — це найменша одиниця програмного коду. Оператор привласнення є зв’язаним знаком рівності конструкції, в якій значення виразу, що знаходиться справа, привласнюється змінною, ім'я якої вказане зліва.

У мові VBA арифметичні оператори дозволяють виконати будь-які арифметичні операції в повній відповідності з правилами арифметики.

Особливості:

знак операції складання можна використовувати при побудові арифметичних виразів з даними типу Date;

якщо в операції складання використовуються дані типу Integer і Long, результат обчислення виразу матиме тип даних Long;

якщо в операції віднімання один з операндів має тип даних Date, то результат обчислення виразу матиме тип даних Date;

якщо обидва операнди в операції віднімання мають тип даних Date, то результат обчислення виразу матиме тип даних Double;

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

при множенні значення змінних з типом даних Variant, що містять в даний момент значення типу Date, останні будуть перетворені в числові значення;

якщо при виконанні ділення дільник виявиться рівним нулю, буде видано відповідне повідомлення про помилку;

для результату обчислення операції ділення чисел з плаваючою крапкою зазвичай використовується тип даних Double, а для чисел типу Integer — Single.

Логічні оператори в мові VBA використовуються для маніпулювання логічними значеннями — True (у числовому уявленні це 1) і False (у числовому уявленні це 0).

Логічний оператор Eqv позначає логічну операцію еквівалентності двох виразів, результатом виконання якої буде значення True, якщо обидва операнди мають однакові значення (обидва — True або обидва — False), і значення False, якщо тільки один з операндів має значення False.

Логічний оператор Imp позначає логічну операцію імплікації двох виразів, результатом виконання якої буде значення False, якщо перший операнд має значення True, а другий операнд має значення False, і значення True в решті всіх випадків.

У мові VBA для рядкових значень підтримується єдиний оператор конкатенації, що виконує операцію злиття двох рядків в один. У мові VBA для позначення операції конкатенації використовується знак «&». Результат операції конкатенації рядків завжди має тип даних String.

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

6. Керуючі оператори

Для вирішення подібних проблем в мові VBA реалізовані і широко використовуються керуючі оператори - такі оператори програмного коду, за допомогою яких визначається порядок виконання інших операторів.

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

Оператор безумовного переходу - це оператор, який просто указує програмі наступного оператора, який має бути виконаний після даного оператора безумовного переходу.

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

Мітка - це будь-який допустимий ідентифікатор VBA, за яким обов’язково має бути двокрапка.

У мові VBA є два умовні оператори переходу — оператор If. Then і оператор Select Case.

Оператор If. Then — один з найважливіших операторів, що керують.

Умова - це умовний вираз, який VBA має обчислити для перевірки виконання умови.

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

Цикл — це фундаментальний компонент будь-якої мови програмування (у тому числі і VBA).

Лічильник — будь-яка числова змінна, в якій зберігається інформація про кількість виконаних проходів циклу (лічильник циклу).

Використовується оператор Exit For при перевірці масивів на наявність в них неприпустимих значень — якщо в масиві виявлені неправильні дані, виконання циклу перевірки достроково завершується.

7. Процедури і функції

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

Типи процедур:

1. Процедура типу Sub (процедура-підпрограма) — це частина програми, яка може виконуватися незалежно, при цьому одна процедура типа Sub може викликати іншу.

2. Процедура типу Function (процедура-функція) — цей клас процедур відрізняється від інших тим, що в результаті виконання функції завжди обчислюється єдине значення, що повертається, яке привласнюється змінною з ім'ям даної функції.

3. Процедура типу Property (процедура властивостей) використовується для доступу до властивостей об'єкта визначеного користувачем класу. Детально процедури властивостей розглядатимуться в темі 10.

4. Процедура обробки події (event procedure) — це процедура спеціального призначення, яка виконується при виникненні деякої події.

Ім'я - це унікальне ім'я процедури, складене згідно з правилам мови VBA.

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

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

При виконанні написаних вами процедур або процедур-функцій можуть виникнути помилки, відмінні від синтаксичних, — помилки виконання. Такі помилки можна виявити тільки в процесі виконання процедури.

ПоказатьСвернуть
Заполнить форму текущей работой