Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


ХІД ЗАНЯТТЯ. Мета заняття: оволодіння технологією створення власного додатку з використанням елементів управління у формі.




ПРАКТИЧНЕ ЗАНЯТТЯ № 11

ТЕМА ЗАНЯТТЯ: СТВОРЕННЯ ВЛАСНОГО ДОДАТКУ

Мета заняття: оволодіння технологією створення власного додатку з використанням елементів управління у формі.

Матеріальне забезпечення:ПЕОМ IBM PC, інструкційні карти.

ХІД ЗАНЯТТЯ

1. Постановка завдання. Виконати програмування на VBA. Автоматизувати облік проданих страв меню засобами VBA. Створити форму Вартість проданих страв меню. В формі вивести: назву страв меню (напис, список), кількість страв (напис, текстове поле, лічильник), номер столика (напис, текстове поле, лічильник), дату оплати страви (напис, текстове поле), командні кнопки ОК та Скасувати. Обчислити вартість проданих страв меню кафе (вартість страви, помножена на кількість проданих страв). Список страв та вартість однієї страви повинні зберігатися на листі Страва.Результати зберегти у вільному рядку листа Оплата. Зробити так, щоб при відкритті документа Вартість страв кафез’являлась форма на екрані.

2. Завантажити табличний процесор MS Еxcel. Зберегти робочу книгу під ім’ямВартість страв кафе.

3. Підготувати на першому листі робочої книги довідник Блюдаменю (Таблиця 1), лист назвати Страви.

Таблиця 1

4. Підготувати на другому листі таблицю для виведення результатів Оплата страв(Таблиця 2), лист назвати Оплата.


Таблиця 2

5. В редакторі Visual Basic створити форму з назвою UserForm1, яка має підпис Вартість проданих страв меню (див. рис.1)

Рисунок 1. Вигляд форми Вартість проданих блюд меню

5.1. Виконати команду Сервис – Макрос – Безопасность та встановити перемикачСредняя.

5.2. Відкрити вікно інтегрованої середи розробки програм Visual Basic командою Сервис – Макрос – Редактор Visual Basic.

5.3. Додати до проекта вікно форми за допомоги кнопки панелі інструментів InsertUserForm та записати значення властивостей форми Name: UserForm1 та Caption: Вартість проданих страв меню.

5.4. За допомоги інструментів панелі елементів управління Toolbox додати у діалогову форму UserForm1 кнопки елементів управління та записати значення їх властивостей Name та Caption. У таблиці 1 міститься перелік елементів управління вікна діалогу UserForm1 та їх властивостей. Також доповнити таблицю 1 властивостями, якими ви користувалися.
Таблиця 1

Перелік елементів управління вікна діалогуUserForm1

Об’єкт Властивості
Напис (Label) Name: Label3 Caption: Назва страв
Список (ListBox1) Name: ListBox1 RowSource: Блюда!A2:A14 SpecialEffect: 2-SpecialEffectSunken TextAlign: 2-fmTextAlignCenter ForeColor: &H000000FF&
Напис (Label) Name: Label4 Caption: Кількість страв
Текстове поле (TextBox) Name: TextBox3 Text: 1
Лічильник SpinButton Name: SpinButton1 Max: 4 Min: 1
Напис (Label) Name: Label5 Caption: Номер столика
Текстове поле (TextBox) Name: TextBox4 Text: 1
SpinButton Name: SpinButton2 Max: 10 Min: 1
Напис (Label) Name: Label1 Caption: Дата оплати страви
Текстове поле (TextBox) Name: TextBox1 BackColor: &H80000018& TextAlign: 2-fmTextAlignCenter
Кнопка (CommandButton) Name: CommandButton1 Caption: ОК ForeColor: &H000000FF&
Кнопка (CommandButton) Name: CommandButton2 Caption: Скасувати

6. На панелі інструментів створити кнопку, яка активізує появу форми UserForm1 на екрані за допомоги UserForm_Activate().В цьому модулі поточна дата заноситься до текстового поля TextBox1, курсор установлюється до текстового поля TextBox1, значення комірок з діапазону A2:A14 листа Страви заносяться до списку ListBox1, у текстових полях TextBox3таTextBox4встановлюється значення 1, форма відображається на екрані. Модуль UserForm_Activate()створюється за допомоги команди менюView – Code, код якого має вигляд:

7.

Private Sub UserForm_Activate() With UserForm1 With .TextBox1 .Text = CStr(Date) .SetFocus End With With .ListBox1 .RowSource = "Страви!A2:A14" .ListIndex = 0 End With .SpinButton1.Value = 1 .SpinButton2.Value = 1 .TextBox3.Value = 1 .TextBox4.Value = 1 End With End Sub

8. Створити модулі SpinButton1_Change()та SpinButton2_Change() за допомоги яких можна обирати кількість страв та номер столика, коди яких мають вігляд:

Private Sub SpinButton1_Change() TextBox3.Value = SpinButton1.Value End Sub

 

Private Sub SpinButton2_Change() TextBox4.Value = SpinButton2.Value End Sub

 

9. Створити модуль CommandButton2_Click(), який приховує форму при натисканні на кнопку CommandButton2. Код модуля CommandButton2_Click() має вигляд:

Private Sub CommandButton2_Click() UserForm1.Hide End Sub

10. Створити модуль CommandButton1_Click(), який виконує обчислення та додає результат на лист Оплата,при натисканні на кнопку CommandButton1. Цей модуль виконає такі дії: активізує робочий лист Оплата; виділяє комірку А1; визначає таблицю до якої належить ця комірка; визначає кількість рядків в таблиці (змінна n); визначає діапазон комірок в першому вільному рядку, в якому слід розташувати результати; заносить вибрану користувачем зі списку страву меню до першого стовпця таблиці Оплата страв(Таблиця 2), лист Оплата (тут до індексу списку додається 2, адже індексування елементів списку починається з 0, а в таблиціОплата страв є додатковий рядок заголовків стовпців таблиці); визначає кількість страв яке було активізовано і в залежності від цього зміна mopt отримує значення, яке дорівнює кількості страв; кількість страв заноситься до другого стовпця таблиці Оплата страв; до третього стовпця таблиці Оплата страв заноситься номер столика; перевіряється, чи дійсно користувачем внесено дату до першого текстового поля, і, якщо це не так, видається повідомлення користувачеві; до четвертого стовпця таблиці Оплата страв заноситься дата оплати страви; до п’ятого стовпця таблиці Оплата страв заноситься вартість замовленої страви, яка обчислюється як додаток вартості однієї страви (її значення береться з другого стовпця листа Страви) та кількості страв (введено у формі UserForm1 за допомоги тестового поля); внаслідок роботи модуля отримуємо запис у вільному рядку таблиці Оплата страв; форма залишається на екрані (див. рис.2).

Рисунок 2. Результат роботи додатка


Код модуля CommandButton1_Click()має такий вигляд:

Private Sub CommandButton1_Click() Dim n As Integer, mopt As Integer Worksheets("Оплата").Select Range("A1").Select n = Selection.CurrentRegion.Rows.Count Set z = Range("A" & CStr(n + 1) & ":E" & CStr(n + 1)) With UserForm1 z.Cells(1, 1) = Range("Страви!A1:A14").Cells(.ListBox1.ListIndex + 2, 1) mopt = SpinButton1.Value z.Cells(1, 2) = mopt z.Cells(1, 3) = Trim(TextBox4.Text) If IsDate(TextBox1.Value) Then z.Cells(1, 4) = CDate(.TextBox1.Value) Else res = MsgBox(Title:="Помилка в даті", prompt:="Дату не буде внесено до таблиці", Buttons:=0 + 48) z.Cells(1, 4) = "" End If z.Cells(1, 5) = Range("Страви!A1:B14").Cells(.ListBox1.ListIndex + 2, 2) * mopt End With End Sub

11. Зробити так, щоб при відкритті документа Вартість страв кафез’являлася форма UserForm1 на екрані. У процедурі обробки події Openдля документа використовувати метод Show. Для цього у вікні провідника проекту Project–VBA Project двічі клацнути мишею по об’єкту Microsoft Excel ObjectЭтаКнига та у вікні редактора програмного коду ввести:

Private Sub Workbook_Open() UserForm1.Show End Sub

12. Запустити програму на виконання. Для цього виконати команду меню Run – Run Sub/UserForm.

13. Зберегти робочу книгу Excel разом з програмою під ім’ям Вартість блюд кафе.

14. Відкрити файл Вартість блюд кафе для перевірки відкриття створеної діалогової форми при завантаженні файлу. Обрати данні для ведення обліку проданих страв меню та натиснути кнопку ОК у формі UserForm1.

15. Завершити роботу в Excel.

16. Звіт з практичного заняття має містити лістинг програми та результати роботи.

В результаті виконання завдань практичної роботи студент повинен:
знати: вміти:
1. Оператори мови програмування VBA для реалізації програм у програмних кодах. 2. Основні принципи тестування програм. 1. Створювати діалогову форму з використанням елементів управління. 2. Вводити та виводити данні за допомоги діалогової форми. 3. Виконувати тестування програми у редакторі Visual Basic.

Література.


Поделиться:

Дата добавления: 2015-08-05; просмотров: 134; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты