Константа
Dim Box(5) As Currency
Масиви
Оголошуючи змінну, користувач створює одиничну поіменовану область пам'яті, а, оголошуючи масив, – створює список суміжних областей пам'яті під одним ім'ям. Для здійснення доступу до окремого елементу масиву, ім'я масиву забезпечують номером елементу масиву (індексом), який заключено в круглі дужки. Масив оголошується так само, як і будь-яка інша змінна, - за допомогою операторів Dim або Public, але після імені масиву записується одне або декілька чисел в круглих дужках, визначаючи, таким чином, кількість елементів, які може містити масив.
Наприклад:
оператор створює масив з ім'ям Box, що містить дані типу Currency. За умовчанням індекс починається з «0», тому в цьому масиві шість елементів,
Box (0), Box (1), Box (2), Box (3), Box (4), Box (5).
Вибір елементу масиву проводиться по вказаному індексу.
2) Dim Box (700 to 799) As Integer
створюється масив з ім'ям Box, що містить елементи типу Integer. Цей оператор задає як нижню, так і верхню межу індексу. Таким чином масив містить 100 елементів.
Box (700), Box (701), Box (702). Box (799).
3) Dim Box ( 4,1 to 3) As Single
створюється двовимірний масив чисел з плаваючою крапкою, названою Box. Оскільки це оголошення містить два індексні діапазони, масив є двовимірним. Діапазон першого індексу від 0 до 4, другого - від 1 до 3. Завдання елементу двовимірного масиву вимагає вказівки двох індексів.
Box (0,1), Box (0,2), Box (0,3)
Box (1,1), Box (1,2), Box (1,3)
Box (2,1), Box (2,2), Box (2,3)
Box (3,1), Box (3,2), Box (3,3)
Box (4,1), Box (4,2), Box (4,3)
4) Dim Свято (3 to 23,5 to 7) As Date.
можна задавати масиви і більшої розмірності, хоча важко уявити, що буде масивом з розмірністю більше 3.
Цей, наприклад, створює двовимірний масив змінних типу Date. Де для обох індексів задані верхня і нижня границі. Перший індекс змінюється від 3 до 23, другий від 5 до 7.
Свято (3,5), Свято (3,6), Свято (3,7)
Свято (4,5), Свято (4,6), Свято (4,7)
…………………………………………….
Свято (23,5), Свято (23,6), Свято (23,7)
Константа – це величина, яка не міняється в процесі виконання програми. Можна просто використовувати постійну величину, там, де це необхідно, але|та| не дуже легко читати програму. Щоб задати константу, використовується ключове слово Const, за яким слідує ім'я_константи, знак рівності і значення константи.
Const Red = 3, Green = 4, Blue = 5, Yellow = 6
Const ArrayLimit = 100
Const max Accounts = 1000
Перш ніж використовувати константи, їх необхідно визначити. Область видимості констант така ж, як у змінних.
Константи, визначені в модулі, доступні у всіх процедурах цього модуля.
Const Z = 100
Константи, оголошені Public, можуть використовуватися в будь-якій процедурі будь-якого модуля програми.
Загальнодоступні константи визначаються на рівні модуля таким чином:
Public Const Z = 100
VB і Excel використовують довгий список вбудованих констант, застосування яких не вимагає оголошення. Ці константи призначені для завдання значень різних властивостей в Excel або VB (наприклад код кольору шрифту чи заливки), а також для завдання величин при використанні діалогових вікон (код для відображення різних кнопок і попереджень).
Інтерактивна підказка описує допустимі константи, а також властивості і функції, з якими вони використовуються.
Для відображення повного списку констант можна використовувати Object Brawser, вибравши бібліотеку Excel і вказавши об'єкт Constants.
Сервис>Макрос>Редактор VB >Вид>Просмотр объектов>
библиотека Excel>Классы Constants
Object Browser відображає повний список констант Excel. Всі константи Excel починаються з символів XL. Вибравши бібліотеку Visual Basic forApplications і вказавши об'єкти Constans, можна побачити всі константи VB. Вони починаються з символів VB.
Вид>Просмотр объектов>библиотека VBA>Классы констант
4.3. Створення призначених для користувача типів даних
Вбудовані типи даних охоплюють більшість ситуацій, з|із| якими користувач може зіткнутися. Проте, в деяких випадках необхідно об'єднати декілька існуючих типів даних в єдину складену структуру.
Наприклад, створюється база даних – телефонний довідник, яка містить поля « Ім'я», «Адреса» і «Номер телефону». Можна зберегти всю цю інформацію в окремих масивах, але набагато зручніше об'єднати все це в єдину структуру і потім створити єдиний масив таких структур.
Щоб створити структуру даних використовується оператор Type.
Type ім'я_ нового_ типу_ даних.
Ім'я змінної1 As тип змінної1
Ім'я змінно 2 As тип змінної2
. ...... ... ..... .
End Type
Наприклад:
Type Клієнт Type
Прізвище As String
Адреса As String
Місто As String
Індекс As Long
Телефон As String
End Type
Потім слід оголосити змінну цього типа перш, ніж її використовувати:
Dim Друзі (1000) As Клієнт Type
Для здійснення доступу до елементів структури необхідно вказати ім'я структури, поставити крапку і вказати ім'я елементу. Таким чином, для привласнення значень цієї структури можна використовувати, наприклад, наступні оператори:
Друзі (10). Прізвище = “Іванов І. І.
Друзі (10). Адреса = “вул|. Будьоного, д.5,кв.4”
Друзі (10). Місто = “м. Жовті Води, Україна”
Друзі (10). Телефон = 4-17-46
Ці оператори здійснюють доступ до елементу масиву Друзі з індексом 10 і привласнюють значення п'яти елементам структури.
4.4. Вбудовані функції
Розглянуті|розгледіти| вище операції дають можливість здійснювати основні математичні дії, складніші обчислення проводяться за допомогою вбудованих функцій.
VB оперує цими функціями подібно до Excel з тією відмінністю, що вони завжди повертають одиничне значення. Функції Excel можуть бути застосовані до цілих масивів чисел і повертати масиви як результати. Функції VB звичайно застосовуються для обробки окремих значень і повертають окремі значення. Щоб обробити масив значень за допомогою функції Visual Basic, потрібно застосувати цю функцію до елементу окремо.
4.4.1. Математичні функції
Atn - повертає арктангенс числа [Y= Atn(a)];
Sin – повертає синус кута в радіанах [Y= Sin(a)] ;
Cos – повертає косинус кута в радіанах [Y= Cos(a)];
Tan – повертає тангенс кута в радіанах [Y= Tan(a)];
Exp – повертає е кута в радіанах [Y= Exp(a)];
Log – повертає натуральний логарифм числа (основа = 2,71) [Y= Log(a)]
Sgr – повертає квадратний корінь числа [Y= Sgr(a)] ;
Randomize – ініціює генератор випадкових чисел [y=Randomize(число)];
Rnd – повертає випадкове число [y= Rnd(число)];
Abs – повертає абсолютну величину числа Rnd;
Sgn – повертає знак числа [y= Sgn(a)];
Fix – округляє число з відсіканням дробової частини [y= Rnd(a)];
Int – округляє число до найближчого меншого цілого [y= Rnd(a)];
Log N (x) = log (x) / Log (n) – логарифм по основі N
4.4.2. Строкові функції
StrComp – порівнює два рядки;
LCose – перетворить рядок в нижній регістр;
UCose – перетворить рядок у верхній регістр;
Spase – створює рядок пропусків;
String – створює рядок символів;
Jen – визначає довжину рядка;
Instr – шукає підрядок в рядку;
Lset – вирівнює рядок по лівому краю;
Rset – вирівнює рядок по правому краю;
Left – виділяє ліву частину рядка;
Right – виділяє праву частину рядка;
Mid – виділяє або переміщає підрядок;
Ltrim – видаляє провідні пропуски;
Rtrim – видаляє завершуючі пропуски;
Trim – видаляє пропуски з двох сторін рядка;
Asc – повертає ASCI I код символу;
Chr – повертає символ за ASCI I кодом;
Str – перетворює число в рядок;
Format – перетворює число в рядок по формату;
Hex – перетворює шістнадцятирічне число в рядок;
Oct – перетворює вісімкове число в рядок;
4.4.3. Функції дати і часу
Date - встановлює або повертає поточну дату;
Time – встановлює або повертає поточний час;
Now - повертає поточні дату і час;
Date Serial – перетворює в останню дату, три цілі числа;
Date Value - перетворює в дату, символьне представлення дати;
Time Serial – перетворює часом три цілі числа (година, хв., сек.)
Time Value - символьне представлення часу;
Timer – повертає часовий інтервал від півночі попереднього дня;
Day - перетворює дату в день місяця;
Month – перетворює дату в місяць року;
Weekday - перетворює дату в день тижня;
Year – перетворює дату в рік;
Hour - перетворює дату в годину дня;
Minute – перетворює дату в хвилини в годині;
Second – перетворює дату в секунди в хвилині.
Приклади:
1) ? Format (Date, “mm/dd/yy hh :mm”)
11/19/93 виведення дати і часу по формату;
2) ? Format (Time “ hh :mm”)
00:15 виведення часу по формату;
3) ? Format (DateSerial(12,18,27), “mm/dd/yy hh :mm”)
12/27/94 00:24
4) ? Format (TimeSerial(12,18,27), “hh :mm:ss”)
12:18:27
5) Date()=”12/01/01
установка дати;
6) ?Date(Now)
19 послідовний номер дати (19-й день місяця).
Функції Day( ), Month( ), Weekday( ), Year( ), Hour( ), Minute( ), Second( ) використовують як аргумент послідовний номер дати. Вони повертають день місяця, місяць, рік і т.д. у вигляді цілого числа.
4.4.4. Перетворення типів даних в Visual Basic
Перетворення даних з одного типа в іншій звичайно проводиться в Visual Basic автоматично.
Коли обчислюється формула, Visual Basic перетворює всі числа в цій формулі в найбільш точний тип, обчислює формулу, а потім перетворює результат в тип змінної зліва. Користувач може використовувати вбудовані функції перетворення типів для виконання самостійних перетворень типів даних.
CBool - перетворює в тип Boolean
CCur – перетворює в тип Currency
CDate перетворює в тип Date
CDbl – перетворює в тип Double
CInt – перетворює в тип Integer
CJng – перетворює в тип Jong
CSng – перетворює в тип Single
CStr – перетворює в тип String
CVar – перетворює в тип Variant
CVErr – перетворює в тип номер помилки