- •Операції вводу-виводу.
- •2. Оператори
- •3. Змінні і типи даних
- •4. Константи
- •5.3. Оператор GoTo
- •6. Робота з циклами
- •8.2. Зона видимості процедур
- •8.5. Виклик і завершення роботи процедур
- •9.2. Функції перетворення і перевірки типів даних
- •9.3. Стрічкові функції
- •9.4. Функції для роботи з числовими значеннями
- •9.5. Функції для роботи з датою і часом
- •9.6. Функції для форматування даних
- •9.7. Функції для організації взаємодії з користувачем
- •9.8. Функції — замінники синтаксичних конструкцій
- •9.10. Функції для роботи з файловою системою
- •9.11. Інші функції vba
9.11. Інші функції vba
DoEvents() — це дуже важлива функція. Вона дозволяє на якийсь час відвернутися від виконання якоїсь операції VBA і передати управління операційній системі, щоб обробити події, що накопичилися в операційній системі (наприклад, натиснення клавіш користувачем). Після цього продовження операції VBA триває. Якщо у вас виконується дуже тривала операція (пошук на дисках, обробка великого об'єму даних і т. д.) і ви хочете дати користувачеві можливість швидко перервати цю операцію, можна виконувати цю команду, наприклад, кожного разу після обробки певної "порції" даних.
Environ() — повертає абсолютний шлях для змінних оточення комп'ютера (повний список змінних, доступних на вашому компьютері, можна проглянути, якщо в командному рядку виконати команду SET). Наприклад, вам треба записати щось у файл в тимчасовому каталозі. Абсолютний шлях до тимчасового каталогу на вашому комп'ютері можна вивести так:
MsgBox Environ("TEMP")
GetAllSettings() — дозволяє отримати (у вигляді двовимірного масиву) з реєстру усі параметри, які відносяться до вказаного вами додатка. Функція SaveSetting() дозволяє записати інформацію в реєстр, а DeleteSetting() — видалити. GetSetting() дозволяє отримати информацію про певний параметр. Помічу, що ці методи дозволяють звертатися тільки до одного дуже далекого куточка реєстру в гілці HKEY_CURRENT_USERS. Звертатися до інших параметрів реєстру при допомозі цих методів марно. Рекомендую для роботи з реєстром використовувати об'єктну бібліотеку Windows Script Host Object Model, яка також є на будь-якому комп'ютері під управлінням Windows 2000, XP і 2003. Потрібний об'єкт називається WSHShell, методи — RegRead(), RegWrite() і RegDelete(). Довідку по об'єктах цієї бібліотеки можна знайти на сайті Microsoft (www.microsoft.com/scripting).
Partition() — визначає, до якого діапазону з наборів значень відноситься передане вами число, і повертає опис цього діапазону (у вигляді рядка). Зазвичай використовується при виконанні запитів до баз даних.
QBColor() — дозволяє перевести позначення кольору із старого номерного позначення з можливими 16 значеннями в RGB -код, який розуміє VBA. Зазвичай використовується при виправленні старих успадкованих програм.
RGB() — ще одна функція для роботи з кольором. Дозволяє повернути RGB -код, який можна використовувати для привласнення кольору, прийнявши три значення для кольорів: червоного (Red), зеленого (Green) і синього (Blue). Значення для кожного з основних кольорів можуть варіюватися від 0 до 255. Наприклад, найзеленіший з можливих кольорів вийде, якщо передані цій функції значення виглядатимуть як RGB(0, 255, 0).
Shell() — дозволяє запустити з VBA зовнішній програмний файл і повернути інформацію про його Program ID в операційній системі. Зазвичай застосовується досвідченими розробниками при використанні ними в програмах можливостей Windows API. З практичної точки зору цю функцію можна використовувати для запуску будь-яких зовнішніх програм з вашого застосування, хоча, на мій погляд, застосування спеціальних об'єктів WshShell і WshExec з бібліотеки Windows Script Host Object Model зручніше (можна передавати у вікно клавіатурні комбінації, приймати і передавати значення через командний рядок і т. д.). Ця бібліотека є на будь-якому комп'ютері Windows, довідку по ній можна знайти на сайті www.microsoft.com/scripting.
TypeName() — функція, яка повертає ім'я типу даних для змінної. Дуже зручна для визначення типу даних для значення, отриманого з бази даних або шляхом виклику методу якогось об'єкту.
VarType() — робить майже те ж саме, але замість імені повертає числовий код, який означає тип даних. Можна використовувати для програмних перевірок типів даних для змінних.