Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект_11_VBA.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
12.11 Mб
Скачать

Використання імен

У VBA користувач визначає імена змінних, функцій, процедур, типів, констант та інших об’єктів. Імена, які вводить користувач, повинні відображати суть позначуваного об’єкту, щоб зробити програму такою, що легко читається.

У VBA існують такі обмеження на імена:

  • Довжина імені не повинна перевищувати 255 символів.

  • В імені не може бути крапок, прогалин і таких символів: %, #, @, $, !, &.

  • Ім’я може містити будь-яку комбінацію букв, цифр, символів, але повинне починатися з букви.

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

  • Імена мають бути унікальними в області свого визначення

Типи даних

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

В VBA використовуються такі основні типи даних:

Тип даних

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

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

Byte (однобайтове ціле)

Boolean (логічний)

Integer (цілий)

Long (довге ціле)

Single (з плаваючою точкою звичайної точності)

Double (з плаваючої точкою подвійної точності)

Currency (грошовий)

Date (дата і/або час)

String (текстовий рядок сталого розміру)

Variant (будь-який тип даних)

1

2

2

4

4

8

8

8

Довжина рядка

16

Від 0 до 255

True (False)

Від – 215 до 215

Від –230 до 232

Від – 3,4Е38 до –1,4Е-45 для від’ємних значень. Від 1,4Е-45 до 3,4Е38 для додатних значень

Від –1,7Е308 до –4,9Е-324 для від’ємних значень. Від 4,9Е-324 до 1,7Е308 для додатних значень

Від – 9,22E+14 до 9,22E+14

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

Від 1 до 216

Константи

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

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

Синтаксис:

[Public / Private] Const <Ім’яКонстанти >[As <Тип>] = <Вираз>

В цьому запису і надалі при зображенні синтаксичних конструкцій:

  • все, що виділено жирним шрифтом - це ключові слова, їх не можна змінювати;

  • конструкції в дужках <…> задаються програмістом по правилам синтаксису в залежності від змісту задачі

  • все, що взято в квадратні дужки, означає необов’язковий параметр, тобто його можна не писати

  • Значок / означає, що треба вибрати один з перелічених параметрів

Public - ключове слово, яке використовується на рівні модуля для об’явлення констант, доступних всім процедурам у всіх модулях.

Private - ключове слово, яке використовується на рівні модуля для об’явлення констант, доступних тільки в середині модуля, в якому виконується опис.

Ім’я Константи - ім’я, яке задовольняє правилам іменування

Тип - один з типів даних (типи даних розглянуто вище)

Наведемо приклади числової і константи, що задає рядок символів:

Private Const ПроцСтавка As Single = 0.2 – константу ПроцСтавка можна вживати тільки в модулі, де вона описана

Public Const РядокСимв As String = “весна” - .текстову константу РядокСимв можна вживати у всіх модулях проекту

Змінні

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

Оголошення змінних

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

Явно змінну можна оголосити одним з наступних способів:

Dim <Ім’яЗмінної1> [As <Тип>][, Ім’яЗмінної2 [As <Тип>]]…

Private <Ім’яЗмінної1> [As <Тип>][, Ім’яЗмінної2 [As <Тип>]]…

Static <Ім’яЗмінної1> [As <Тип> ][, Ім’яЗмінної2 [As <Тип>]]…

Public <Ім’яЗмінної1> [As <Тип> ][, Ім’яЗмінної2 [As <Тип>]]…

Dim - ключове слово для оголошення змінних (від dimention – розмір)

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

Наприклад:

Dim N As Integer – після виконання цієї команди змінній N буде відведено 2 байти пам’яті.

Dim x - у даному випадку відсутній тип даних. Це означає, що змінна за замовчуванням отримує тип Variant (аналог загального формату в Excel, тобто VBA сам буде визначати тип змінної, коли вона з’явиться в програмі. Наприклад, якщо в програмі записано команду х = 5, то VBA присвоїть x тип Integer або Long).

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

Для того щоб всі змінні в модулі оголошувалися явно на його початку в так званій області модуля (General Declarations) необхідно помістити інструкцію Option Explicit. Використання цієї інструкції не допускає неправильного вводу імені змінної, яка використовується в одній або декількох процедурах модуля.

Н априклад:

Option Explicit

Public Sub Обчислення_Ставки()

Dim Ставкa As Currency

Cтавка = 500

End Sub Мал. 15

Змінна має ім’я Ставка. Якщо в програмі при наборі команди Cтавка = 500 замість української букви С була набрана латинська С (а це вже інша змінна, яка не оголошена), то при виконанні буде видано вікно повідомлень про те що змінна не оголошена «Variable not defined)» (мал. 15) .

Без інструкції Option Explicit таку помилку важко було б знайти, а програма видала б невірний результат (Ставка=0)

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

Спеціальний символ

Тип

%

&

!

#

@

$

Integer

Long

Single

Double

Currency

String

При неявному оголошенні змінні просто використовуються у програмі без попереднього їх визначення, наприклад, за допомогою оператора Dim.

Області видимості змінних

  1. Змінні рівня процедури розпізнаються тільки в процедурі, в якій вони оголошені за допомогою інструкції Dim i Static. Такі змінні називаються локальними.

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

  3. Змінні рівня модуля, які оголошені за допомогою інструкції Рublic, є доступними для всіх процедур проекту. Такі змінні називаються відкритими.

Час життя змінної

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

Лекція №4.

Тема: Програмування на мові VBA. Оператори і вирази. Пріоритет виконання операцій при обчисленнях. Функції VBA, використання функцій.