Синтаксис процедури і функції

Загальні відомості про мову VBA

VBA - це універсальний об'єктно-орієнтована мова програмування основних додатків Windows (в даній роботі це додаток MS Office - електронна таблиця MS Excel). Це означає, що всі елементи в середовищі MS Excel розглядаються як об'єкти, а не абстрактне безліч структур даних або пікселів на екрані. Кожен об'єкт є контейнером для всіх об'єктів всередині нього (якщо вони є). Найбільший об'єкт (або головний об'єкт) - сам додаток MS Excel (Application), що містить всі інші об'єкти.

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

Для організації діалогових програм в VBA використовуються Форми (це складна програма інтерфейс, якій організований у вигляді вікна Windows). Є програми, які не мають вікон, наприклад, програми - віруси.

Форма (або вікно Windows) - основний будівельний блок, який використовується для створення діалогової програми. Форма - це місце, де розміщуються всі елементи, з якими взаємодіють користувачі програми. Ці елементи називаються активними елементами управління (ActiveX) або просто елементами управління.

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

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

Основні синтаксичні принципи мови VBA

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

Арифметичні оператори. +, -, *, /, ^, \ (цілочисельне ділення), Mod (розподіл по модулю).

Оператор присвоювання - це знак рівності (=). Не плутати знак рівності з оператором рівності.

Оператори порівняння. = (Рівність), <,>,> =, <=, <>, Is (порівняння об'єктів), Like (подобу об'єктів).

Логічні оператори. And (І), Or (АБО), Not (заперечення), Xor (виключають АБО), Eqv (еквівалентність), Imp (імплікація). Пам'ятати потрібно про And, Or, Not, інші логічні оператори використовуються рідко.

Оператор конкатенації. тобто злиття строкових значень - (Амперсанд). При використанні () виробляється автоматичне перетворення числових значень в строкові значення.

Змінні і типи даних

Змінні - це контейнери для зберігання змінюваних даних. Перед роботою зі змінною необхідно її оголосити (визначити область видимості змінної). Це здійснюється за допомогою ключових слів: Dim, Private, Public, Statc.

Static - такі змінні можна використовувати тільки всередині процедури.

Якщо немає ніяких особливих вимог, то має сенс завжди вибирати область видимості Dim.

Ім'я (ідентифікатор) змінної, константи, процедури, функції і т.п .:

- ім'я повинно починатися з літери;

- не повинно містити пропусків і символів пунктуації (виняток символ підкреслення (а_а);

- максимальна довжина імені - 255 символів;

- ім'я повинне бути унікальним в поточній області видимості змінної;

- в імені не можна використовувати зарезервовані слова.

Типи даних містяться в мові VBA:

16 для чисельних значень і 22 для рядків

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

Принципи вибору типу даних для змінних:

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

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

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

При присвоєнні значень змінним потрібно пам'ятати про наступне:

- строкові значення завжди полягають в подвійні лапки, наприклад SaVar1 = "Студент";

У змінних до присвоєння їм значень користувачем міститься:

- в змінних всіх числових типів даних - 0;

- в строкових змінних змінної довжини - "" (рядок нульової довжини);

- в строкових змінних фіксованої довжини - рядок заданої довжини з символами ASCII 0 (ці символи на екран не виводяться);

- в Variant - спеціальне пусте значення Empty.

Синтаксис процедури і функції

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

У VBA передбачені наступні типи процедур:

- процедура типу Function (функція) - набір команд, які повинні бути виконані. Принципова відмінність тільки одне: функція повертає викликала її програмі (або процедурі) якесь значення, яке буде там використано.

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

Dim <имя_переменной_1> As <тип_переменной>

Function ІмяФункціі (<переменные> As <тип_переменной>)