
- •Доступ до об'єктів Excel з vb
- •1.1.Методи об'єктів
- •1.2. Контейнери і набори об'єктів
- •2. Використання властивостей, що характеризують активність
- •3.Використання властивостей, що характеризують вміст
- •4. Властивості форматування
- •5. Методи роботи з таблицями
- •Контрольні завдання по темі
- •1. Теоретичні питання
- •2. Тести
- •3. Практичні завдання
- •Вживання процедур і функцій
- •6.Передача величин процедурі
- •7. Створення і вживання функцій
- •Контрольні завдання по темі
- •1. Теоретичні питання
- •2. Тести
- •При застосуванні службового слова РаrаmArrау у списку аргументів функції/процедури перед ім'ям деякого аргументу, яка дія повинна застосовуватися для цього аргументу?
- •3. Практичні завдання
- •Оператори управління
- •1. Оператор if
- •If логічний_вираз then оператор,
- •1.1. Логічні вирази
- •1.2. Структура оператора if - then
- •2.Структура оператора Select Case
- •3. Неструктурований перехід
- •Контрольні завдання по темі
- •1. Теоретичні питання
- •2. Тести
- •3. Практичні завдання
- •Цикли і структури, що повторюються
- •1. Вживання обчислюваних циклів
- •1.1. Циклічна структура for – next
- •1.2. Цикл for each – next
- •2. Логічні цикли
- •2.1. Вживання циклу do - loop
- •2.2. Вживання циклів while - wend
- •Контрольні завдання по темі
- •1. Теоретичні питання
- •2. Тести
- •3. Практичні завдання
- •Вбудовані діалогові вікна
- •1. Вживання функції MsgBox()
- •1.1. Створення простого вікна повідомлення
- •1.2. Додавання командних кнопок у вікно повідомлення для створення діалогового вікна
- •1.3. Набуття значень від функції MsgBox()
- •2. Вживання функції InputBox()
- •3. Вживання діалогових вікон інших типів
- •4. Виклик діалогових вікон додатку
- •Контрольні завдання по темі
- •1. Теоретичні питання
- •2. Тести
- •3. Практичні завдання
- •Література
1.1. Створення простого вікна повідомлення
Для створення простого вікна повідомлення застосовується оператор (зарезервоване слово) MsgBox, за ним слідує текст, який відображатиметься у вікні повідомлення.
Синтаксис:
MsgBox “Текст”, vbOkOnly, “Заголовок”
де Текст – повідомлення у вікні повідомлення;
vbOkOnly – константа дозволяє відображати одну кнопку <Ok> у вікні повідомлення, може бути пропущена по замовченню, тобто:
MsgBox “Текст”, , “Заголовок”
де Заголовок – (третій аргумент) текст в рядку заголовка (назва) вікна повідомлення, може бути відсутнім, тоді заголовок при застосуванні у Microsoft Excel, за умовчанням - «Microsoft Excel».
Приклад 1:
MsgBox “Позитивне значення не знайдено!”, vbOkOnly, “Результат пошуку ”
або
MsgBox “Позитивне значення не знайдено!”, , “Результат пошуку ”
Отримане вікно повідомлення показано на рисунку 9.1.
MsgBox “Позитивне значення не знайдено!”
Отримане вікно повідомлення показано на рисунку 9.2.
Рисунок 9.1. Просте вікно повідомлення з заголовком “Результат пошуку ” (Приклад 1.a) |
Рисунок 9.2. Просте вікно повідомлення при відсутній назві заголовку (Приклад 1.b) |
Якщо у вікні повідомлень потрібно відображати числа, використовуються функції Str() або Format(), що дозволяють перетворити число в символьну форму. У цьому випадку оператор MsgBox використовується для відображення результатів обчислення:
Приклад 2:
MsgBox “Сума: ” & Str(Summa) , vbOkOnly, “Результат ”
або
MsgBox “Сума: ” & Str(Summa) , , “Результат ”
Отримане вікно повідомлення показано на рисунку 9.3,a.
Приклад 3:
MsgBox “Сума: ” & Format(Summa,”0.00”) , vbOkOnly, “Результат ”
або
MsgBox “Сума: ” & Format(Summa,”0.00”) , , “Результат ”
Отримане вікно повідомлення показано на рисунку 9.3,b.
|
|
a) |
b) |
Рисунок 9.3. Просте вікно повідомлення з відображенням результатів обчислення |
Функція Str() використовується для перетворення числа числової змінної (числа) в символьну змінну. Результат перетворення об'єднується з текстом і відображується оператор MsgBox у вигляді вікна повідомлення.
1.2. Додавання командних кнопок у вікно повідомлення для створення діалогового вікна
У вікно повідомлення можна додати декілька командних кнопок, що дозволить розширити його можливості і перетворити його в діалогове вікно. Можна додати командні кнопки, використавши необов'язкові аргументи функції MsgBox(). Ці додаткові кнопки дозволяють користувачеві вибрати напрям дій або варіант відповіді на просте питання.
Синтаксис:
ім'я_змінної = MsgBox( Prompt, buttons , title)
де Prompt – текст, повідомлення у вікні повідомлення; buttons – константа, дозволяє відображати стандартну комбінацію кнопок в діалоговому вікні + вказати командну кнопку за умовчанням + вказати піктограму + оголосити тип діалогового вікна, тобто buttons =к1+к2+к3+к4 (к1,к2,к3,к4 - константи VB); title – текст в рядку заголовка вікна діалогу (Заголовок).
Список констант (код та ім’я), приведені в таблиці 9.1.
Додаткові коди дозволяють задати командну кнопку за умовчанням, вказати піктограму і оголосити діалогове вікно модальним.
Для використання кодів наданих в таблиці:
спочатку виберіть командну кнопку або кнопки (к1), які необхідно відображати. Потім, якщо вибрано більш за одну командну кнопку, слід визначити, яка з них буде активною за умовчанням (к2). Командна кнопка, активна за умовчанням, вважається та, що повинна виконатися при натисканні користувачем після відображення діалогового вікна клавіші Enter. Коди (к2), приведені в частини "Коди активності за умовчанням" таблиці 9.1 дозволяють вказати, яка з командних кнопок (перша, друга або третя) буде активною за умовчанням. Командні кнопки поміщаються в діалогове вікно в тому ж порядку, в якому вони вказані в частині "Коди командних кнопок" (константи к1) таблиці 9.1;
якщо хочете додати в діалогове вікно піктограму, вкажіть відповідну константу (к3) з частини "Коди піктограм" таблиці 9.1;
можна вказати тип діалогового вікна (к4). Якщо діалогове вікно не модальне, то користувач може перемкнутися на інше вікно, продовживши таким чином роботу з програмою без закриття діалогового вікна. Якщо ж діалогове вікно задане як модальне, то користувач повинен закрити його (завершити з ним роботу), перш ніж продовжувати роботу з даною програмою. Існують два типи модальних діалогових вікон — програмні модальні і системні модальні.
Користувач повинен закрити програмне модальне діалогове вікно, перш ніж продовжити роботу з програмою, що відображує це вікно; хоча в цьому випадку дозволяється перемкнутися на іншу програму, не закривши дане діалогове вікно. Системне модальне діалогове вікно вимагає, аби користувач закрив його, перш ніж робити що-небудь ще;
і нарешті, складаються всі коди разом, buttons =к1+к2+к3+к4 (для всіх командних кнопок і опцій), а потім використаємо цю суму як аргумент функції MsgBox() для створення діалогового вікна.
Таблиця 9.1. Коди завдання командних кнопок і піктограм у функції MsgBox()
Код |
Константа |
Опис |
||
Коди командних кнопок |
||||
0 |
vbOKOnly |
OK |
||
1 |
vbOKCancel |
OK і Cancel |
||
2 |
vbAbortRetryIgnore |
Abort, Retry і Ignore |
||
3 |
vbYesNoCancel |
Yes, No і Cancel |
||
4 |
vbYesNo |
Yes і No |
||
5 |
vb Retry Cancel |
Retry і Cancel |
||
Коди активності за умовчанням |
||||
0 |
vbDefaultButton1 |
Активна перша |
||
25 |
vbDefaultButton2 |
Активна друга |
||
51 |
vbDefaultButton3 |
Активна третя |
||
Коди піктограм |
||||
16 |
vbCritical |
Важливе
повідомлення
|
||
32 |
vbQuestion |
Попереджувальний
запит
|
||
48 |
vbExclamation |
Попереджувальне
повідомлення
|
||
64 |
vbІnformation |
Інформаційне
повідомлення
|
||
Коди модальності вікна |
||||
0 |
vbApplicationModal |
Програмне модальне |
||
4096 |
vbSystemModal |
Системне модальне |
Приклад.
Створимо діалогове вікно, що включає командні кнопки ТАК (ДА) і НІ (НЕТ) (друга кнопка буде активною за умовчанням), включити в діалогове вікно піктограму «Увага» ( ) і зробити це вікно програмним модальним, то для створення коду необхідно використовувати наступний набір вбудованих констант:
Code = vbYesNo + vbDefaultButton2 + vbExclamation + vbAppliсationModal
або
Code = 4+ 256 + 48 + 0 = 308
або
Code = 308
Проте, щоб зробити код очевиднішим, слід використовувати пойменовані константи, а не числа.
Приклад 4. Можна використовувати, наприклад, будь-який з наступних операторів MsgBox():
Code = vbYesNo + vbDefaultButton2 + vbExclamation + vbAppliсationModal
MsgBох( prompt:="Bи дійсно хочете це зробити?", buttons:=Code)
або
MsgBох( "Ви, дійсно хочете це зробити?", Code)
Отримане вікно діалогу/повідомлення показано на рисунку 9.4.
Рисунок 9.4. Вікно діалогу (Приклад 4)