Змінна - це названа область комп'ютерної пам'яті, в якій зберігаються дані вказаного типу, які можуть змінюватися скільки завгодно раз по ходу виконання програми.
Присвоєння імені:
максимальна довжина імені змінної не може перевищувати 255 символів;
імена змінних мають бути унікальними, іншими словами, дві різні процедури або змінні не можуть мати одного і того ж імені;
першим символом в імені змінної має бути літера, за якою можуть слідувати в будь-якій комбінації цифри, літери або символ підкреслення "_";
ім'я змінної не може містити пропусків, крапок, знаків окликів, а також символів @,#,$,%,&;
як ім'я змінної не можна використовувати ключові слова мови VBA.
Область дії змінної:
1. Змінна, оголошена в процедурі, є доступною тільки в цій процедурі.
2. Змінна, оголошена в розділі оголошень модуля за допомогою ключових слів Private або Dim, є доступною тільки в межах цього модуля.
3. Змінна, оголошена в розділі оголошення модуля за допомогою ключового слова Publiс, є доступною для всіх модулів у всіх проектах.
|
|
Масив - це набір елементів однакового типу, що мають спільне ім'я.
Масиви дозволяють працювати з деяким набором однотипних даних як з єдиним цілим.
Динамічні масиви:
коли необхідний розмір масиву невідомий до моменту виконання програми;
якщо наперед відомо, що в ході виконання програми розмір масиву мінятиметься;
якщо при виконанні програми після завершення використання масиву необхідно звільнити займану ним пам'ять.
При написанні програми мовою VBA не обов'язково завжди використо-вувати тільки змінні, в деяких випадках зручніше і правильніше користуватися значеннями, які не мінятимуться впродовж всього ходу виконання програми. Такі значення прийнято називати константами.
Операції і вирази
Вираз - це окреме значення або декілька значень, сполучених знаками операцій.
Значення 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.
Керуючі оператори
Для вирішення подібних проблем в мові VBA реалізовані і широко використовуються керуючі оператори - такі оператори програмного коду, за допомогою яких визначається порядок виконання інших операторів.
Оператори умовного переходу - це оператори, що визначають дійсну послідовність виконання операторів програми на основі аналізу деякої умови або умов.
Оператор безумовного переходу - це оператор, який просто указує програмі наступного оператора, який має бути виконаний після даного оператора безумовного переходу.
Оператор GoTo - це оператор безумовного переходу, який відноситься до групи операторів керування ходом виконання програми. Оператора безумовного переходу завжди змінює порядок виконання операторів в програмі - при цьому VBA не перевіряє ніяких умов, а просто переходить до подальшого виконання програми з того місця, яке буде вказано в цьому операторові.
Мітка - це будь-який допустимий ідентифікатор VBA, за яким обов'язково має бути двокрапка.
У мові VBA є два умовні оператори переходу - оператор If. Then і оператор Select Case.
Оператор If. Then - один з найважливіших операторів, що керують.
Умова - це умовний вираз, який VBA має обчислити для перевірки виконання умови.
Умовний оператор Select Case використовується у тому випадку, коли необхідно перевіряти одне і те ж значення, порівнюючи його з різними виразами.
|
|
Цикл - це фундаментальний компонент будь-якої мови програмування (у тому числі і VBA).
Лічильник - будь-яка числова змінна, в якій зберігається інформація про кількість виконаних проходів циклу (лічильник циклу).
Використовується оператор Exit For при перевірці масивів на наявність в них неприпустимих значень - якщо в масиві виявлені неправильні дані, виконання циклу перевірки достроково завершується.
Процедури і функції
Процедура - це найменша одиниця програмного коду, яка містить операторів програм VBA. Будь-яка написана процедура зберігається в модулі VBA, який, у свою чергу, може містити будь-яку кількість процедур.
Типи процедур:
1. Процедура типу Sub (процедура-підпрограма) - це частина програми, яка може виконуватися незалежно, при цьому одна процедура типа Sub може викликати іншу.
2. Процедура типу Function (процедура-функція) - цей клас процедур відрізняється від інших тим, що в результаті виконання функції завжди обчислюється єдине значення, що повертається, яке привласнюється змінною з ім'ям даної функції.
3. Процедура типу Property (процедура властивостей) використовується для доступу до властивостей об'єкта визначеного користувачем класу. Детально процедури властивостей розглядатимуться в темі 10.
4. Процедура обробки події (event procedure) - це процедура спеціального призначення, яка виконується при виникненні деякої події.
Ім'я - це унікальне ім'я процедури, складене згідно з правилам мови VBA.
Аргументи - це необов'язковий параметр, взятий у круглі дужки. Аргументи процедури - це елементи даних, що передаються процедурі при її виклику і використані нею при виконанні. При оголошенні процедури аргументи указуються у вигляді списку аргументів.
Функції є необхідним елементом будь-яких мов програмування, не є виключенням і мова VBA. Функція є особливим видом процедур, що відрізняється від інших тим, що вона завжди повертає обчислене значення. Аргументи функцій можуть бути константами, змінними (включаючи масиви), текстовими рядками або об'єктами.
|
|
При виконанні написаних вами процедур або процедур-функцій можуть виникнути помилки, відмінні від синтаксичних, - помилки виконання. Такі помилки можна виявити тільки в процесі виконання процедури.
Размещено на Allbest.ru