Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
О'єкти_Excel.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
216.34 Кб
Скачать

2.4. Вікно редагування форм (UserForm).

Вікно редагування форм призначено для розробки спеціальних користувальних діалогових вікон. Форма до проекту додається за допомогою команди Вставка/Форма або натиском кнопки Insert UserForm. У результаті на екран виводиться пуста форма з панеллю інструментів Toolbox (рис. 7).

3. Програмування в Excel

3.1. Синтаксис і дані мови vba

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

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

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

3.4. Операції

Будь-яка мова програмування використовує вирази. Вирази будуються на основі змінних, констант, вмонтованих функцій з використанням знаків операцій і дужок. Запис виразу задає правило (алгоритм) обрахування його значення і його типу. Зрозуміло, що тип і значення всіх його змінних і констант повинні бути визначені до моменту обрахування виразу. Для фіксації значення виразу використовую оператор присвоєння (=), правила запису якого такий: ліворуч від знака рівно (=) повинна стояти змінна, якій передається значення; праворуч від знака рівно повинен стояти вираз, наприклад: y = КілДнів * Тариф – Податок.

У виразах VBA можна використовувати стандартний набір операцій над даними. Розрізняють три основних типа операцій (табл. 10).

Таблиця 10

Типи операцій VBA

Категорія операції

Вид операції

Математична +

-

*

/

\

Mod

^

додавання

віднімання

множення

ділення

цілочисленне ділення

залишок від ділення за модулем

піднесення до степеня

Порівняння > < <> >= <=

Логічна And

логічне множення

Інша [операнд1] & [операнд2]

& – конкатенація (об’єднання) рядків

Мова програмування VBA для формування виразів використовує ідентифікатори (умовні назви змінних, констант, функцій, процедур тощо). Середовище розробки VBA підтримує кодіровку символів Unicode, що означає, що розробник може формувати ідентифікатори символами як латинського алфавіту так і – кириліци. VBA не розрізняє в ідентифікаторах регістр символів (наприклад, ідентифікатори ЗВІТ і Звіт будуть подавати одну і ту ж змінну). При формуванні ідентифікаторів необхідно враховувати наступне: ідентифікатор повинен формуватися тільки з букв, цифр і символу підкреслення; першим символом ідентифікатора повинна бути буква. Імена ідентифікаторів має важливу роль в розумінні програм, і тому завжди слід дотримуватися правила напису імен змінних і констант, суть якого заключається в наступному: ім’я повинно відображати змістовне розуміння, і складатися з одного або декількох нероздільно написаних слів, кожне з яких починається з великої букви (допускається імена змінних формувати окремими символами латинського алфавіту – І, Х, Y). Ось декілька прикладів вірної побудови імен: СумаНарах, ПрибПодаток, СумаОпл, КількістьДнів, І, Y тощо.

Змінні величини і константи, які будуть використовуватися в процедурі, повинні бути оголошені. Оголошення змінних – це надання змінним певних типів даних (табл. 9).

Таблиця 9

Прості типи даних VBA

Тип даних

Розмір (байт)

Діапазон значень

Boolean (логічний тип)

2

Істина (True), хибність (False)

Byte (байт)

1

Від 0 до 255

Integer (ціле число)

2

Від – 32768 до 32767

Long (довге ціле число)

4

Від -2 147 483 648 до 2 147 483 647

Single (дробове звичайне число )

4

21 розрядні числа

Double (дробове довге число)

8

42 розрядні числа

Currency (грошове число)

8

Від -922 337 203 685 477, 5808 до 922 337 203 685 477, 5807

Date (дата і час)

8

Від 1 січня 100 р. до 31 грудня 9999 р.

String (рядок символів)

11

Будь-які символи, довжина рядка до 65400 символів

Object (об’єкт)

4

Посилання на будь-який об’єкт

Variant (рядковий тип)

16

Будь-яке значення

Змінні можна оголошувати на двох рівнях – рівні процедури і рівні модуля. Змінні можна і не оголошувати, і тоді тип їх буде визначений по замовчуванню (Variant). Якщо на початку модуля вставити опцію Option Explicit (опція "Явно"), тоді оголошення змінних у модулі стає обов’язковим. Ми рекомендуємо дотримуватися наступної стратегії:

  • Завжди використовуйте явне оголошення змінних.

  • Завжди розміщуйте оголошення змінних на початку програми.

  • Включіть в Редакторі VBA в меню Tools на вкладці Editor прапорець Require Variable Declaration. В цьому випадку в усіх модулях проектів буде автоматично з’являтися оператор Option Explicit. Тим самим, Ви примушуєте себе слідкувати за дотриманням правил хорошого тону в програмурованні.

Для оголошення змінних використовуються оператори: Dim, Public, Private, Static, які мають такий синтаксис:

{Dim | Private | Public | Static }<ім’я змінної> [ As <ім’я типу>]

[, <ім’я змінної> [ As <ім’я типу>]]}

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

Змінні рівня модуля являються глобальними і поділяються на закриті (оголошені оператором Private відкриті (оголошені оператором Public). Зона видимості (доступу) глобальних закритих змінних – всі процедури одного модуля, глобальних відкритих змінних – всі процедури всіх модулей проекту.

Змінні, оголошені на рівні процедури оператором Dim, називаються локальними по відношенню до даної процедури. Їх зоною видимості є тільки та процедура, в якій вони оголошені. Локальні змінні рівня процедури можуть бути оголошені також оператором Static, що робить їх статичними. У таких змінних продовжується час життя. Звичайні локальні змінні народжуються при вході в процедуру, видимі тільки в ній і "помирають" під час виходу з процедури. Це означає, що пам’ять для змінних відводиться при вході в процедуру, а при виході вона звільняється. Зона видимості статичних змінних – процедура, але час життя інший, при виході з процедури у них не відбирається пам’ять, – вона просто становиться тимчасово недоступною. Тому при повторному вході в процедуру статичні змінні відновлюють ті значення які в них були при останньому виході. Для того щоб статичні змінні мали сенс, необхідна початкова ініціалізація змінних, – вони повинні мати початкові значення уже при першому входженні в процедуру. Ось як VBA ініціалізує змінні в момент їх оголошення: 0 - для числових значень; пустий рядок ("") – для рядкових змінних; Empty (значення, що вказує на відсутність ініціалізації) – для типа Variant.