Основи програмування на мові vba - методичні вказівки і завдання

Процес розробки програми на мові VBA - проекту. може складатися з декількох етапів, в залежності від кінцевого результату. Якщо необхідно отримати програму, яка буде виробляти певні обчислення або дії, що розширюють математичні можливості стандартного додатка Microsoft Office, то досить створити программниймодуль. Для застосування цієї програми можна помістити в робочій області програми кнопку, натискання якої буде викликати виконання програми. Для цього в додатку необхідно включити панель інструментів за допомогою команди ВідПанелі інструментовЕлементи управління. а потім створити кнопку з відповідним програмним кодом. Або виконувати програму за допомогою команди СервісМакросМакроси.

Розробка "повноцінної" програми (для виконання якої потрібне окреме вікно, з різними елементами управління) буде включати два етапи. Перший етап - етап візуального програмування, на якому створюється вікно (форма) програми, де розташовуються необхідні елементи управління. Другий - етап програмування, на якому створюються частини програми (процедури), що виконуються у відповідь на певні події. Подією є, наприклад, клацання лівою кнопкою миші на командній кнопці (подія Click), натискання клавіші на клавіатурі (подія KeyPress) і т.д. Використовувати такий додаток можна натисканням кнопки - «Запуск проекту».

2.1. Об'єкти, властивості і методи VBA

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

Об'єкт містить також список методів, які до нього застосовні. Методи - це те, що ви можете робити з об'єктом. Наприклад, показати форму на екрані або прибрати її можна за допомогою методів Show і Hide.

Таким чином, об'єкт - це програмний елемент, який має своє відображення на екрані, містить деякі змінні, що визначають його властивості. і деякі методи для управління об'єктом. Наприклад, в MS Excel є багато вбудованих об'єктів:

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

Об'єкт. Властивість = Вираз

Основною властивістю об'єктів Cells і Range. є Value (значення), яке, однак, можна не вказувати. наприклад:

Синтаксис читання властивостей об'єкта наступний:

Мінлива = Об'єкт. властивість

Синтаксис застосування методів до об'єкта:

Sheets ( "Діаграма"). Delete- видалити лист з ім'ям "Діаграма".

Range ( "A5: A10"). Clear - очистити діапазон комірок A5: A10.

Range ( "A2: B10"). Select - виділити діапазон комірок A2: B10.

У MS Excel є об'єкти, які містять інші об'єкти. Наприклад, робоча книга містить робочі листи, робочий аркуш містить діапазон комірок і т.д. Об'єктом найвищого рівня є Application (додаток). Якщо ви змінюєте його властивості або викликаєте його методи, то результат застосовується до поточної роботи MS Excel. наприклад:

Потрібно відзначити наступне:

  • Можна не писати ім'я об'єкта Application, так як це мається на увазі за замовчуванням.
  • При роботі з подоб'екти вже активізованого об'єкта немає необхідності вказувати містить його об'єкт.
  • VBA використовує деякі властивості і методи, які повертають об'єкт до якого вони відносяться (це дозволяє швидко вказувати потрібний об'єкт). Приклади таких властивостей: ActiveCell (активна осередок), ActiveSheet (активний лист), ActiveWorkBook (активна робоча книга). Так, встановити значення активної комірки можна наступним чином:

Всі об'єкти, якими оперує мову програмування VВА, відносяться до певного типу.

Тип даних визначає:

- область можливих значень змінної;

- структуру організації даних;

- операції, визначені над даними цього типу.

Типи даних підрозділяються на прості (скалярні) і складні (структуровані). У простих типів даних можливі значення даних єдині і неподільні. Складні ж типи мають структуру, в яку входять різні прості типи даних. Скалярні типи даних представлені в таблиці 2.1.

Таблиця 2.1. Скалярні типи VBA

Універсальний тип, значенням якого можуть бути дані будь-якого з перерахованих вище типів, об'єкти, значення NULL і значення помилок ERROR.

Змінні в програмі можна описувати або не описувати. В останньому випадку їй буде присвоєно тип Variant. Явно описувати змінну можна як на початку блоку, так і в будь-якому місці, де виникла необхідність використовувати нову змінну. Краще все змінні описувати явно і, як правило, на початку блоку. Щоб відмовитися від використання змінних, що не були описані явно, в початок програми необхідно вставити оператор Option Explicit.

2.2.1. Опис простих змінних

Опис простих змінних має наступний синтаксис:

Одним оператором Dim можна описати довільне число змінних, але конструкція Аs повинна бути вказана для кожної з них, інакше змінним без Аs буде присвоєно тип Variant.

Тут змінна Х - це змінна байтового типу, змінна Z - цілого типу, змінна С - типу варіант (за замовчуванням), змінна Слово - строкового типу.

2.2.2. опис констант

Дані, які не змінюються всередині програми можна вважати константами. Їх можна описати таким чином:

Const Pi As Double = 3.141593

2.2.3. опис масивів

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

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

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

Dim X (1 TO 5) As Integer, Y (1 To 10, 1 To 20) As Double

Тут Х - одновимірний масив, що складається з 5 елементів цілого типу, Y - двовимірний масив, у якого 10 рядків і 20 стовпців з елементами числового типу подвійної точності.

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

2.3.1. види операцій

Операції бувають арифметичні, відносини і логічні:

- арифметичні операції:
^ Піднесення до степеня,
* Множення,
/ Поділ,
\ Розподіл без остачі,
mod залишок від ділення,
+ плюс,
- мінус;

- операції відносини.
<меньше,
> Більше,
<= меньше или равно,
> = Більше або дорівнює,
= Одно,
<> не дорівнює;

- логічні операції:
Not логічне заперечення,
And логічне "І",
Or логічне "АБО".

Результатом логічної операції може бути одне з двох значень:
True ( "істина") або False ( "брехня").

2.3.2. Пріоритет виконання операцій

Якщо вираз містить декілька операцій, то пріоритет їх виконання наступний:

1. Спочатку виконуються арифметичні операції в такому порядку, як вони представлені в таблиці 2.2.

Таблиця 2.2. Пріоритет арифметичних операцій

Вираження ставлення визначають істинність або хибність результату при порівнянні двох операндів. Порівнювати можна дані будь-якого однакового типу. Результат операції відносини тільки логічний: True - "істина" або False - "брехня".

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

Приклад. Записати 1 £ Х £ 5 і визначити значення виразу при Х = 3.1

Вираз в VВА буде виглядати так:

Результатом виразу буде True.

Щоб отримати перелік всіх математичних функцій, досить набрати ім'я будь-якої відомої математичної функції (наприклад, SIN), а потім натиснути клавішу F1 і нижче опису обраної функції вибрати посилання на Математичні функції. В отриманому переліку можна отримати довідку про призначення будь-якої з вбудованих математичних функцій і її аргументі.

Щоб отримати перелік всіх похідних математичних функцій і правила їх формування, досить набрати ім'я будь-якої відомої математичної функції (наприклад, SIN), а потім натиснути клавішу F1 і нижче опису обраної функції вибрати посилання на Похідні математичні функції.

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

Таблиця 2.5. Похідні математичні функції