Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Типи даних мови VBA




Тип даних Розмір, байт Діапазон можливих значень
Integer   Числа від -32768 до 32767 (-215; 215-1)
Long   Числа від -2147483648 до 2147483647 (-231;231-1)
Single   Від’ємні числа від -3.4´1038 до -1.4´1045 Позитивні числа від 1.4´1045 до 3.4´1038
Double   Від’ємні числа від -1.79´10308 до -4.9´10-324 Позитивні числа від 4.9´10-324 до 1.79´10308
Currency   От -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807
String 1 для кожного символу Служить для збереження тексту. Може вміщувати до 2-х мільйонів символів
Byte   Позитивні числа від 0 до 255
Boolean   Логічні значення. Тільки значення True і False
Data   Зберігає комбінацію дати і часу. Дата від 1.01.100р. до 31.12.9999р. Час від 00:00:00 до 23:59:59
Object   Використовується до доступу до будь-якого об’єкту VBA. Зберігає адресу об’єкту.
Variant 16байт+1байт для кожного символу Служить для збереження даних будь-якого типу

Змінні

 

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

Перемінні в мові VBA абсолютно аналогічні змінним в алгебраїчному рівнянні — ви прописуєте ім’я змінної замість її значення, яке на момент написання інструкції мови VBA може ще буди невідоме, але яке буде відоме на момент виконання цієї інструкції.

Існує кілька обмежень на імена змінних, які використовуються у програмі:

1. ім'я повинне починатися тільки з букви;

2. За буквою може стояти будь-яка послідовність букв латиниці та кирилиці, цифр і символів підкреслювання (_);

3. в імені не повинне бути крапок, прогалин і символів математичних операцій;

4. необхідно дотримувати унікальність імені змінних у рамках однієї розглядаємо процедури;

5. Ім’я змінної не повинно співпадати ні з одним із ключових слів;

6. кількість символів в імені не повинне перевищувати 255.

 

Ось приклади вірних і не вірних імен:

Дозволені імена Недозволені імена Коментарі
Переменная    
Функція    
MyVar    
My_Var    
Размер_канала    
ПроцентаяСтавка    
  My Var Не можна використовувати прогалину
  5размер Починається з цифри
  Dim Співпадає з зарезервованим словом
  День/Недели Містить знак арифметичної дії

 

Можна давати змінній майже любе ім’я з врахуванням обмежень, які перераховані вище. При виборі імені змінною має сенс враховувати деякі поради:

§ Імена змінних в VBA не чутливі до регістра букв, тобто не має значення, набрана буква у верхньому або нижньому регістрі. Таким чином, Мояпеременная і мояпеременная — це одна і та ж змінна. Більш того, VBA вирівнює регістр всіх входжень імені змінної, беручи за зразок останнє написання;

§ Вибираючи ім'я змінної, прагніть робити його описовим. Набагато краще дати змінній ім'я Відсоток, чим Х або У. Если в змінній записується середньодобова температура, то і змінну має сенс назвати Сренесуточнаятемпература або среднесуточная_температура;

§ Майте на увазі, що, хоча регістр імен змінних не має значення для роботи програми, правильне його використання може поліпшити читабельність програми для іншої людини (Сренесуточнаятемпература);

§ Звернете увагу на правильне використання символу підкреслення, яке з успіхом може замінити символ пропуск (среднесуточная_температура);

Створення змінних

Найпростіший спосіб створити змінну — це просто згадати її ім'я у виразі. VBA створить змінну і виділить для неї пам'ять, як тільки виявить її, зазвичай це відбувається при записі в змінну деякого значення.

Запис значення в змінну називається привласненнямзначення змінній. Це здійснюється за допомогою оператора привласнення (присвоения), який виглядає як знак рівності (=). Ось приклад оператора привласнення:

 

НачальнаяСумма = 10

 

Цей оператор записує число 10 в ділянку пам'яті, з якою пов'язано ім'я змінної НачальнаяСумма. Якщо це перша згадка імені змінної, то оператор привласнення просто записує в ділянку пам'яті, на яку указує змінна, число 10, при цьому все, що було записане в цю пам'ять раніше, безповоротно стирається.

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

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

Ще гірше, якщо ви думаєте, що в операторові привласнення неявно створюєте нову змінну, а насправді помилково пишете ім'я існуючої змінної. Це ніколи не викличе повідомлення про помилку виконання, але старе значення змінної буде знищено, і знайти таку помилку теж дуже важко.

По цих і деяких іншим причинам VBA надає спосіб оголошувати змінні явно. Явне оголошення змінних має багато переваг:

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

§ Явне оголошення змінних допомагає уникнути багатьох помилок, які підстерігають вас при неявному оголошенні.

§ Явне оголошення змінних полегшує читання програми користувачу цієї програми. Побачивши на початку процедури або модуля список всіх змінних, користувачу легше розібратися в логіці виконання програми.

§ При явному оголошенні змінних не потрібно стежити за правильним використання верхнього і нижнього регістра, так це робитиме автоматично VBA.

Для явного оголошення змінних використовується оператор Dim. Він має наступний синтаксис запису:

 

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

 

У одному операторові Dim можна описати декілька змінних, відокремивши їх комами:

 

Dim имя_переменной As тип_переменной, имя_переменной As тип_переменной

 

Наприклад:

 

У першому операторі Dim оголошена змінна з ім’ям — НачальнаяСумма, тип змінної — речова (вещественная).

Зауваження:

1. якщо ви пропустите при такому записі тип якою-небудь зміною, VBA привласнить їй тип Variant. Наприклад

Тип змінної z буде грошовий (денежный), а змінної f — Variant

2. Для того, щоб заборонити неявне визначення змінних в модулі, рекомендують додавати в області опису модуля, тобто на його початку, команду Option Explicit. Такі команди, як Option Explicit, називаються директивами компілятора. Вони не викликають ніяких конкретних дій, але служать вказівкою компілятору, як виконувати цей модуль. (Нагадаємо, що компілятор — це спеціальна частина програми VBA, яка перетворить текст програми в машинні коди, необхідні для виконання конкретного завдання). Потрібно також пам'ятати, що команда Option Explicit впливає на той модуль, в якому вона прописана.

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

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

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

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

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

 




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 1049; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.02 сек.