
- •Основи офісного програмування
- •Створення процедур і функцій користувача
- •Методичні рекомендації до виконання завдання № 1
- •Використання інструкцій vba
- •Методичні рекомендації до виконання завдання № 2
- •Технологія виконання завдання
- •Створення інтерфейсу користувача
- •Методичні рекомендації до виконання завдання №3
- •Технологія виконання завдання
Створення інтерфейсу користувача
Одним з варіантів організації діалогу з користувачем є використання функцій MsgBox і ІnputBox.
Функція MsgBox
Виводить повідомлення в діалоговому вікні, очікує від користувача щиглика на кнопці і повертає ціле значення, що визначає кнопку, на якій був зроблений щиглик.Функція має наступні параметри:
Першим параметром задається текст повідомлення. Другий параметр (необов'язковий) являє собою суму визначених костант VBA (константи, використовувані в програмі лабораторної роботи, приведені в таблиці 1.8), що вказують у вікні повідомлення набір кнопок, значків, а також інші елементи інтерфейсу. Третій параметр (необов'язковий) визначає заголовок вікна повідомлення. Якщо його опустити, то заголовок буде містити назву додатка, у середовищі якого виконується VBA – код.
Функция InputBox
Виводить повідомлення в діалоговому вікні, очікує від користувача введення даних або щиглика на кнопці. Повертає в процедуру введене користувачем значення.
Функція має наступні параметри:
Першим параметром задається текст повідомлення (запрошення). Другий параметр (необов'язковий) задає текст заголовка вікна. Третій параметр (необов'язковий) задає рядок за замовчуванням.
Таблиця 1.8
Приклади констант
Константа |
Призначення |
vbYesNo |
У вікні повідомлення присутні кнопки Да и Нет |
vbCritical |
У вікні повідомлення присутній значок «Критическое сообщение» |
Методичні рекомендації до виконання завдання №3
Тема: Створення інтерфейсу користувача
Ціль: Придбання практичних навичок розробки інтерфейсу користувача в середовищі VBA.
План
Вивчення організації інтерфейсу користувача за допомогою функцій виводу повідомлень користувачу і введення даних.
Модифікація процедури AvtUchet, використання в процесі її виконання інтерфейсу з користувачем.
Технологія виконання завдання
Постановка задачі: Модифікувати процедуру AvtUchet, організувати в процесі її виконання інтерфейс із користувачем.
Для рішення поставленої задачі необхідно виконати наступні дії:
Відкрити книгу MS Excel з лабораторними роботами. Перейти на рабочий листок «Автоматизований облік».
У середовищі VBA виконати модифікацію ппоцедуры AvtUchet:
Передбачити введення пароля для дозволу виконання розрахунку (використовувати функцію ІnputBox, третім параметром задати рядок за замовчуванням - "*******").
Передбачити повідомлення користувачу при виконанні розрахунку (функції MsgBox і Date), а також повідомлення при неправильному паролі й у ситуації, якщо розрахунок не проводився. Кожен рядок програмного модуля процедури пояснити коментарем. Кожен рядок коментарю починається зі знака апостроф.
При виведенні повідомлень (функція MsgBox) і при введенні пароля (функція ІnputBox) визначити свої заголовки діалогових вікон.
При виконанні процедури на екран будуть виведені наступні діалогові вікна:
Листинг модуля VBA має такий вигляд:
Sub AvtUchet1() ‘ Автоматизированный учет
Dim Imax, IMin, Result, Kod, i As Integer
Dim User As String
Msg = "Будем продолжать работу? "
Kod = vbYesNo + vbCritical
M: User = InputBox("Введите пароль", , "*******")
If User = "Студент" Then
Imax = WorksheetFunction.Max(Range("C4:C10"))
IMin = WorksheetFunction.Min(Range("C4:C10"))
For i = 4 To 10
If Cells(i, 3).Value = Imax Then
Range(Cells(i, 1), Cells(i, 3)).Font.Color = vbRed
ElseIf Cells(i, 3).Value = iMin Then
Range(Cells(i, 1), Cells(i, 3)).Font.Color = vbGreen
Else
Range(Cells(i, 1), Cells(i, 3)).Font.Color = vbBlack
End If
Next i
MsgBox "Расчет проведен " & Date
Else
MsgBox "Вы ввели неправильно пароль!!! "
Result = MsgBox(Msg, Kod)
If Result = vbYes Then
GoTo M
Else
If Result = vbNo Then
MsgBox "Расчет не проводился"
End If
End If
End If
End Sub