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

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

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

максимальна довжина імені змінної не може перевищувати 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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: