Professional Documents
Culture Documents
But Kyrsova
But Kyrsova
Курсова робота
з дисципліни «Програмні оболонки і пакети»
на тему :розроблення програмної оболонки засобами
Microsoft Excel VBA для розв’язку економічної задачі
Полтава 2021
Бланк завдання
2
Зміст
Бланк завдання………………………………………………..2
Вступ……………………………………………………………4
Розділ 1(теоретична частина)………………………………..5
Розділ 2(практична частина)………………………………..12
Загальні висновки…………………………………………….27
Список використаних джерел……………………………….29
3
Вступ
Незважаючи на досить широкі можливості системи MS Excel з
створення нескладних баз даних у ряді випадків виникає ситуація, коли
користувачеві не вистачає якоїсь функції для повного задоволення його
потреб, а використати більш потужні СУБД немає необхідності. У таких
випадках може допомогти розширення можливостей системи MS Excel
шляхом написання власних функцій користувача, які дозволяють виконувати
нестандартні, але необхідні користувачеві дії з оброблення даних.
4
Розділ 1(теоретична частина)
Мовні засоби управління пакетом прикладних програм
6
Під час розв’язування соціально-економічних задач існують об’єднання
даних одного типу в масиви. Сукупність даних у моделі предметної галузі
складає інформаційну базу пакета.
7
різноманітність задач і способів застосування результатів, використовують
генератори звітів.
8
Сьогоднішній російський ринок ППП МФ представлений в основному
двома
10
Основними режимами є пакетний та діалоговий, що має два варіанти
реалізації: пусковий та режим супроводу. Зауважимо, що використання
діалогового режиму у будь-якому варіанті передбачає застосування
спеціальної програми — діалогової системи, що організує процес діалогу.
3. створення заголовків;
5. монтування графіки;
6. підготовку ілюстрацій і т. П.
11
Розділ 2(практична частина)
4.1 Побудова БД та розроблення форми користувача
12
Рис. 2. Довідники менеджерів і фірм
13
Рис. 3. Форма користувача (програмна оболонка)
15
Для виконання початкового відображення форми користувача
(програмної оболонки) потрібно дати команду Run\ UserForm (F5).
Результат відображення значень 1-го запису показано на рис. 5.
17
Private Sub ost_Click()
'перехід на останній запис
Do While ActiveCell.Offset(1, 0).Value <> ""
ActiveCell.Offset(1, 0).Select
Loop
'поля
data.Text = ActiveCell.Value
firm.Text = ActiveCell.Offset(0, 1).Value
men.Text = ActiveCell.Offset(0, 2).Value
kil.Text = Format(ActiveCell.Offset(0, 3).Value, "###0")
cinp.Text = Format(ActiveCell.Offset(0, 4).Value, "####0.#0")
vart.Text = Format(ActiveCell.Offset(0, 5).Value, "#####0.#0")
ckud.Text = Format(ActiveCell.Offset(0, 6).Value, "####0.#0")
vtran.Text = Format(ActiveCell.Offset(0, 7).Value, "####0.#0")
syma.Text = Format(ActiveCell.Offset(0, 8).Value, "#####0.#0")
'активність кнопок
pop.Enabled = True
nac.Enabled = False
per.Enabled = True
ost.Enabled = False
zb.Enabled = False
vid.Enabled = False
MsgBox "останній запис"
End Sub
Range("a3").Select
'поля
data.Text = ActiveCell.Value
18
vtran.Text = Format(ActiveCell.Offset(0, 7).Value, "####0.#0")
'активність кнопок
pop.Enabled = False
nac.Enabled = True
ost.Enabled = True
per.Enabled = False
zb.Enabled = False
vid.Enabled = False
End Sub
'Кнопка "Доповнити"
Private Sub dop_Click()
'Змінна для вибору режиму збереження
i=1
20
'Змінні для полів БД
y1 = data.Text
y2 = firm.Text
y3 = men.Text
y4 = kil.Text
y5 = cinp.Text
y6 = vart.Text
y7 = ckud.Text
y8 = vtran.Text
y9 = syma.Text
'активність кнопок
pop.Enabled = False
red.Enabled = False
per.Enabled = False
ost.Enabled = False
nac.Enabled = False
dop.Enabled = False
vux.Enabled = False
zb.Enabled = True
vid.Enabled = True
'поточна дата
data.Text = Date
'очищнння
firm.Text = ""
men.Text = ""
kil.Text = ""
cinp.Text = ""
vart.Text = ""
ckud.Text = ""
vtran.Text = ""
syma.Text = ""
mist.Text = ""
tov.Text = ""
hurcin.Text = ""
vids.Text = ""
'доступ
firm.Locked = False
men.Locked = False
kil.Locked = False
'Фон полів
firm.BackColor = &HFFFFC0
men.BackColor = &HFFFFC0
kil.BackColor = &HFFFFC0
'Курсор
21
firm.SetFocus
End Sub
'Кнопка "Редагувати"
Private Sub red_Click()
'Змінна для вибору режиму збереження
i=2
'Змінні для полів БД
y1 = data.Text
y2 = firm.Text
y3 = men.Text
y4 = kil.Text
y5 = cinp.Text
y6 = vart.Text
y7 = ckud.Text
y8 = vtran.Text
y9 = syma.Text
'активність кнопок
pop.Enabled = False
red.Enabled = False
per.Enabled = False
ost.Enabled = False
nac.Enabled = False
dop.Enabled = False
vux.Enabled = False
zb.Enabled = True
vid.Enabled = True
'доступ
firm.Locked = False
men.Locked = False
kil.Locked = False
'Фон полів
firm.BackColor = &HFFFFC0
men.BackColor = &HFFFFC0
kil.BackColor = &HFFFFC0
'Курсор
firm.SetFocus
End Sub
'Кнопка "Зберегти"
Private Sub zb_Click()
If i = 1 Then
Range("a4:i4").Select
'Копіювання запису
22
Selection.Copy
'Цикл з умовою
Do While ActiveCell.Value <> ""
ActiveCell.Offset(1, 0).Select
Loop
'Вставка нового запису БД
ActiveSheet.Paste
'Поля
ActiveCell.Value = data.Text
ActiveCell.Offset(0, 1).Value = firm.Text
ActiveCell.Offset(0, 2).Value = men.Text
ActiveCell.Offset(0, 3).Value = kil.Text
ActiveCell.Offset(0, 4).Value = cinp.Text
ActiveCell.Offset(0, 5).Value = vart.Text
ActiveCell.Offset(0, 6).Value = ckud.Text
ActiveCell.Offset(0, 7).Value = vtran.Text
ActiveCell.Offset(0, 8).Value = syma.Text
End If
If i = 2 Then
'Поля
ActiveCell.Value = data.Text
ActiveCell.Offset(0, 1).Value = firm.Text
ActiveCell.Offset(0, 2).Value = men.Text
ActiveCell.Offset(0, 3).Value = kil.Text
ActiveCell.Offset(0, 4).Value = cinp.Text
ActiveCell.Offset(0, 5).Value = vart.Text
ActiveCell.Offset(0, 6).Value = ckud.Text
ActiveCell.Offset(0, 7).Value = vtran.Text
ActiveCell.Offset(0, 8).Value = syma.Text
End If
'Колір
firm.BackColor = &HFFFFFF
men.BackColor = &HFFFFFF
kil.BackColor = &HFFFFFF
'блок полів
data.Locked = True
firm.Locked = True
men.Locked = True
kil.Locked = True
cinp.Locked = True
vart.Locked = True
ckud.Locked = True
vtran.Locked = True
syma.Locked = True
23
mist.Locked = True
tov.Locked = True
hurcin.Locked = True
vids.Locked = True
'кнопки
pop.Enabled = True
per.Enabled = True
ost.Enabled = False
nac.Enabled = False
zb.Enabled = False
vid.Enabled = False
vux.Enabled = True
dop.Enabled = True
red.Enabled = True
End Sub
'Кнопка "Відмінити"
Private Sub vid_Click()
If i = 1 Then
'перехід на останній запис
Do While ActiveCell.Offset(1, 0).Value <> ""
ActiveCell.Offset(1, 0).Select
Loop
'поля
data.Text = ActiveCell.Value
firm.Text = ActiveCell.Offset(0, 1).Value
men.Text = ActiveCell.Offset(0, 2).Value
kil.Text = Format(ActiveCell.Offset(0, 3).Value, "###0")
cinp.Text = Format(ActiveCell.Offset(0, 4).Value, "####0.#0")
vart.Text = Format(ActiveCell.Offset(0, 5).Value, "#####0.#0")
ckud.Text = Format(ActiveCell.Offset(0, 6).Value, "####0.#0")
vtran.Text = Format(ActiveCell.Offset(0, 7).Value, "####0.#0")
syma.Text = Format(ActiveCell.Offset(0, 8).Value, "#####0.#0")
End If
If i = 2 Then
data.Text = y1
firm.Text = y2
men.Text = y3
kil.Text = y4
cinp.Text = y5
vart.Text = y6
ckud.Text = y7
vtran.Text = y8
syma.Text = y9
End If
24
'Колір
firm.BackColor = &HFFFFFF
men.BackColor = &HFFFFFF
kil.BackColor = &HFFFFFF
'блок полів
data.Locked = True
firm.Locked = True
men.Locked = True
kil.Locked = True
cinp.Locked = True
vart.Locked = True
ckud.Locked = True
vtran.Locked = True
syma.Locked = True
mist.Locked = True
tov.Locked = True
hurcin.Locked = True
vids.Locked = True
'кнопки
pop.Enabled = True
per.Enabled = True
ost.Enabled = False
nac.Enabled = False
zb.Enabled = False
vid.Enabled = False
vux.Enabled = True
dop.Enabled = True
red.Enabled = True
End Sub
Sub recalculate_syma()
v = vart.Value
c = ckud.Value
vt = vtran.Value
If v <> "" And p <> "" And vt <> "" Then
syma = v - p + vt
syma.Text = Format(syma, "##0.#0")
End If
End Sub
25
Private Sub vart_Change()
If Val(kil.Text) > 5 Then
ckud.Text = Format(Val(vart.Text) * 20 / 100, "#####0.#0")
Else
ckud.Text = 0
End If
syma.Text = Format(Val(vart.Text) + Val(vtran.Text) - Val(ckud.Text),
"#####0.#0")
End Sub
26
Загальні висновки
VBA є об’єктно-орієнтованим середовищем, що містить великий набір
об'єктів, кожен з яких має безліч властивостей і методів. Сам об'єкт і всі
інструменти, необхідні для його створення, відтворення або знищення,
відносяться до певного класу. Ім'я класу вказує на тип об'єктів, які він
містить.
<оператор 1>
<оператор n>
End Sub
27
Виконання програмного коду процедури або функції відбувається при
передаванні їй керування. Передавання керування (виклик) може
здійснюватися різними способами. У загальному випадку підпрограма
викликається із програмного коду за допомогою спеціального оператора Саll,
у якому, крім цього ключового слова, вказуються ім'я процедури і фактичні
параметри виклику, список яких записується у круглих дужках.
28
Список використаних джерел
1) Методичні вказівки до виконання курсової роботи з дисципліни
„Програмні оболонки і пакети” для студентів напряму підготовки
6.030502 „Економічна кібернетика” денної форми навчання. Полтава:
ПолтНТУ, 2016. 22 с. Викладач: Ю.А. Харченко, канд. техн. наук,
доцент
2) 4. Харченко Ю.А. Програмні оболонки і пакети: навч. пос. / Ю.А.
Харченко. Полтава: ПолтНТУ, 2016. 102 с.
3) Інформатика : Посібник / Ярко Кулешник, Тарас Рудий, Володимир
Сеник . -Львів , 2015.-249 с.[132,133]
4) Галіцин В.К. Програмні оболонки і пакети: Навчальний посібник /
В.К. Галіцин, Ю.Т. СидоренкоК.: КНЕУ, 2003. 212 с.[55,101]
5) В.А. Баженов, П.С. Вергерський, В.М. Горлач та ін. Інформатика.
Комп’ютерна техніка. Комп’ютерні технології: Підручник для
студентів вищих навчальних закладів. Київ: Каравела, 2004. – 464
с[205,207,304]
6) М. В. Бондаренко, О.Г. Качко Операційні системи. К.: Видавництво
BHV, 2005 – 576 с.[107,108,110,115]
7) Дибкова Л. М. Інформатика та комп’ютерна техніка: Посібник для
студентів вищих навчальних закладів. - К.: Академвидав, 2002. – 320 с.
[28,54,57]
8) 1. Галіцин В. К. Програмні оболонки і пакети: навч. посіб. / В. К.
Галіцин, Ю.Т. СидоренкоК.: КНЕУ, 2003. 212 с.
9) 2. Джелен Б. Применение VBA и макросов в Microsoft Excel / Б.
Джелен, Т. Сирстад; пер. с англ. М.: ООО “Издательский дом
Вильямс”, 2006. 624 с.
10) 3. Эйткен П. Разработка приложений на VBA в среде Office XP /
П. Эйткен: пер. с англ. М.: ООО “Издательский дом Вильямс”, 2005.
718 с.
29