
- •Поняття про об’єктно-орієнтоване програмування
- •Контрольні запитання
- •Основні поняття мови vba. Алфавіт та елементи мови. Типи даних
- •Версії мови Basic. Основні поняття мови vba
- •Алфавіт та елементи мови
- •Службові слова та оператори
- •Типи даних, змінні та константи
- •Операції
- •Контрольні запитання
- •Оператори та структури мови (функції та процедури)
- •Опис та присвоєння значень змінним та константам
- •Визначення області видимості змінних та констант
- •Організація умовного та безумовного переходу
- •If умова Then оператор1 (Else оператор 2)
- •Стандартні функції vb
- •InputBox (повідомлення (,заголовок)(,текст)),
- •Організація циклів
- •Опис та присвоєння значень масивам
- •Функції та процедури, створені користувачем
- •Контрольні запитання
- •Об’єкти ms Office. Використання властивостей методів об’єктів
- •Використання об’єктів
- •Використання властивостей об’єктів
- •Використання методів об’єкта
- •Об’єкт UserForm (Форма користувача)
- •Опис об’єктних змінних
- •Посилання на об’єкти за допомогою структури With...End With
- •Контрольні запитання
- •Середовище редактора vba
- •Інтелектуальні можливості редактора коду
- •Налаштування середовища vba
- •Явний опис змінних
- •Пошук процедури у вікні редактора
- •Редагування створеної процедури
- •Друк коду процедури
- •Експорт та імпорт модуля
- •Запуск та відлагодження процедури
- •Контрольні запитання
- •Програмування в ms Access
- •Макроси та модулі в Access. Створення, редагування та запуск макросів
- •Зв’язування макросів з подіями
- •Перетворення макросів в процедуру
- •Контрольні запитання
- •Розробка інтерфейсу користувача
- •Проектування та форматування форми
- •Елементи керування
- •Контрольні запитання
- •Тема 11. Програма Супермаркет
- •11.1. Створення відомостей. Утиліти програми Супермаркет
- •Створення відомостей про товарообіг
- •Створення документів, пов’язаних з фінансовими операціями
- •Створення і друкування цінників
- •Використання довідників
- •11.2. Робота з оболонкою Пос Термінал
- •Створення товарних чеків
- •Інкасація
- •Довідник товарів. Довідник організацій. Картка організації
- •Створення звітів та протоколів
Стандартні функції vb
Під функцією чи процедурою розуміють послідовність операції, яку потрібно виконати багато разів у різних місцях додатка. Мова VB містить велику кількість стандартних функцій (function) — вбудованих формул, які виконані дії над виразами та генерують значення. Функції існують у всіх версіях мови та зберігаються в шаблонах чи додаткових макросах Word, Excel чи Access. Вони детально описані в довідниках розробниками пакету MS Office. Не можна плутати терміни функція і процедура. Зазвичай процедура виконує певне завдання (чи групу завдань), як і окрема команда меню програми. Функція оперує одним чи більше значеннями і видає деяке результуюче значення (як формула в комірці робочого аркуша Excel).
Вбудовані функції поділяються на декілька груп і використовуються для виконання таких завдань:
організація обміну інформацією між програмою та користувачем або документом;
перетворення одних типів даних у інші;
форматування чисел чи інших типів даних для відображення;
перетворення та генерації значень даних;
одержання інформації про файли, драйвери, диски чи середовище, в якому працює VB у даний момент часу.
Вбудовані функції поділяються на категорії за своїм призначення: діалогові, математичні, перетворення даних, дати та часу, текстові та ін. У довідниках із VB детально описано всі функції, допустимі значення аргументів та приклади застосування.
Розглянемо найбільш використовувані функції.
Діалогові функції введення-виведення інформації
Функція InputBox використовується для введення даних з клавіатури. Вона виводить на екран діалогове вікно, яке може містити назву й певну допоміжну інформацію (створену користувачем) та поле введення. Після появи такого вікна система переходить у режим очікування, тобто чекає команди від користувача. Після занесення інформації в поле введення та натискання кнопки Ok чи клавіші Enter, система сприймає введене значення як текст.
Функція записується в такому вигляді:
InputBox (повідомлення (,заголовок)(,текст)),
де повідомлення — текст у діалоговому вікні (максимальна довжина 1024 символи); для розділення рядків використовують символи Chr(10) та Chr(13); заголовок — назва діалогового вікна; текст — текст, який відображатиметься в полі введення за замовчуванням; якщо аргументу немає, то поле введення порожнє.
Функція MsgBox використовується для відображення на екрані повідомлень, проміжних чи кінцевих значень обчислень та іншої інформації. Вона виводить на екран діалогове вікно, яке містить заголовок і відповідну інформацію, та встановлює режим очікування для вибору користувачем кнопки. Кількість та тип кнопок, які відображаються в діалоговому вікні, користувач може задати. Після вибору кнопки функція набуває ціле значення, яке вказує на те, яка кнопка була натиснута.
Функція MsgBox записується так:
MsgBox (повідомлення (,кнопки)(,заголовок)),
де повідомлення — текст у діалоговому вікні; кнопки — вираз, який вказує на кількість кнопок; тип інформаційного діалогового вікна, визначає основну (активну) кнопку та модальність вікна; заголовок — назва діалогового вікна.
Допустимі значення аргументу кнопки:
Константа |
Число |
Результат |
Типи кнопок, які відображаються |
||
vbOKOnly |
0 |
Відображається лише кнопка OK |
vbOKCancel |
1 |
Відображаються кнопки OK і Cancel (Відміна) |
vbAbortRetryIgnore |
2 |
Відображаються кнопки Abort (Перервати), Retry (Повторити) Ignore (Пропустити) |
vbYesNoCancel |
3 |
Відображаються кнопки Yes (Так), No (Ні) та Cancel (Відміна) |
vbYesNo |
4 |
Відображаються кнопки Yes та No |
vbRetryCancel |
5 |
Відображаються кнопки Retry та Cancel |
Тип діалогового вікна |
||
vbCritical |
16 |
Критичне повідомлення |
vbQuestion |
32 |
Запитання з попередженням |
vbExclamstion |
48 |
Попередження |
vbInformation |
64 |
Інформаційне повідомлення |
Визначення основної кнопки |
||
vbDefaultButton1 |
0 |
Основна є перша кнопка |
vbDefaultButton2 |
256 |
Основна є друга кнопка |
vbDefaultButton3 |
512 |
Основна є третя кнопка |
vbDefaultButton4 |
768 |
Основна є четверта кнопка |
Модальність діалогового вікна |
||
vbApplicationModal |
0 |
Модальне вікно на рівні програми: щоб продовжити роботу з програмою, потрібно відреагувати на дане повідомлення, тобто натиснути одну із кнопок вікна |
vbSestemModal |
4096 |
Модальне вікно на рівні системи: всі програми будуть недоступні, аж поки користувач не відреагує на дане повідомлення |
Значення типу Integer, які набуває функція MsgBox після натискання відповідної кнопки діалогового вікна, подано в таблиці:
Константа |
Числове значення |
Натиснута кнопка |
vbOK |
1 |
OK |
vbCancel |
2 |
Cancel |
vbAbort |
3 |
Abort |
vbRetry |
4 |
Retry |
vbIgnore |
5 |
Ignore |
vbYes |
6 |
Yes |
vbNo |
7 |
No |
Значення аргументу кнопки та значення, яке приймає функція після натискання відповідної кнопки, можна подавати у вигляді числа або за допомогою відповідної константи.
Математичні функції
У мові VB містить стандартний набір математичних функцій, обов’язковим аргументом є числовий вираз.
Abs(х) — відображає абсолютне значення числа х;
Аtn(х) — обчислює арктангенс кута х, де х — кут у радіанах;
Cos(х) — обчислює косинус кута х, де х — кут у радіанах;
Exp(x) — обчислює значення функції ех;
Sin(x) — обчислює синус кута х, де х — кут у радіанах;
Sqr(x) — обчислює корінь квадратний числа х, якщо х від’ємне, відображає помилку;
Tan(x) — обчислює тангенс кута х, де х — кут у радіанах.
Функції перетворення типів
Мова VB містить функції, які дозволяють перетворювати дані одного типу в інший. Їх використовують для забезпечення контролю за типами даних у виразах.
Функції дати та часу
Функції дати та часу зазвичай використовуються для одержання поточної дати та часу, розбиття значення дати на її складові частини або для перетворення тексту та числа в значенні типу Date.
Текстові функції
Текстові функції часто використовують для знаходження заданого тексту всередині іншого тексту, для порівняння одного рядка з іншим, копіювання вибраних фрагментів тексту.
Приклад (процедура лінійного процесу): Скласти процедуру, яка моделює роботу найпростішого касового апарата для визначення вартості товару, що обчислюється за формулою:
Вартість = Ціна * Кількість.
Позначимо величини: вартість — v, ціна — t, кількість — k.
Текст процедури:
Sub calculator()
Dim k As Integer
Dim t, v As Currency
Dim mes, style, title, rez As String
t = InputBox("Введіть ціну товару", "Ціна", "0,00")
k = InputBox("Введіть кількість", "Кількість", "0")
v = t * k
mes = "Ціна" & t & Chr(13) & "Кількість=" & k _
& Chr(13) & "Вартість=" & v
style = vbInformation + vbYesOnly
title = "Результат"
rez = MsgBox(mes, style, title)
End Sub
У процедурі змінні t, v, k описані явно, а змінні mes, style, title, rez — неявно.
У процесі виконання процедури на екрані з’являться діалогові вікна Ціна та Кількість для введення даних та вікно Результат з обчисленою вартістю.
П
риклад (процедура
повного розгалуження зі складеною
умовою: створити процедуру для
обчислення функції, заданою формулою:
.
Текст процедури:
Sub функція()
Dim x, y As Double
x = InputBox("Введіть значення х")
If x >= 100 Or x <= 10 Then
y = 2 * x + 7
Else
y = Exp(0.1 * x)
End If
MsgBox y
End Sub