Успішність студентів

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

АНОТАЦІЯ

Ця курсова робота розроблена в рамках курсу «Проектування інформаційних систем» і написана на мові програмування Visual Basic for Application (VBA). Проект призначений для проведення аналізу успішності студентів.
Для спрощення і прискорення вирішення завдань, пов'язаних з аналізом успішності студентів і призначена дана програма.

ЗМІСТ
Введення 5
Глава 1. Теоретична частина 6
Глава 2. Практична частина 11
Висновок 15
Список використовуваної літератури 16
Додаток 1. Керівництво користувача 17
Додаток 2. Лістинг програми 23

Введення

У XXI столітті в розвитку людської цивілізації відбуваються глобальні зміни, які ведуть до її нового етапу - постіндустріального суспільства, все ширше використовує комп'ютеризовані знаряддя праці та інформаційні технології.
Стрімкий розвиток індустрії, тягне за собою все більший і більший інтерес початківців програмістів створювати те, що актуально в наш час. Тому, для виконання курсової роботи ми обрали аналіз успішності студентів. Цей процес досить трудомісткий і може займати багато часу. Ми в своїй роботі пропонуємо спрощений і автоматизований варіант даного аналізу.
Дана програма, написана мовою програмування Visual Basic for Application, являє собою аналіз успішності студентів.
Проект виконаний у рамках курсу «Проектування інформаційних систем» з використанням відповідного засобу виконання Microsoft Visual Basic for Application.
Мета написання даної курсової роботи - автоматизація розрахунків успішності студентів, а також навчання проектуванню ІС.
Курсова робота проста, зручна і практична у використанні.
Курсова робота містить: вступ, теоретичну частину, практичну реалізацію, висновок, літературу, яка використовувалася при написанні курсової роботи і додатки.

Глава 1. Теоретична частина

1.1 Постановка завдання

Завдання даного курсового проекту - розробка інформаційної системи аналіз успішності студентів, що є Windows-додатком і володіє простим і зручним інтерфейсом, а також ознайомлення з роботою у середовищі Visual Basic for Applications і принципами об'єктно-орієнтованого програмування.

1.2 Аналіз завдання

У цій роботі розроблена інформаційна система аналізу успішності студентів. Ця тема є актуальною в даний час, так як багато навчальних закладів проводять аналіз успішності учнів для відстеження рівня підготовки та виявлення можливих недоліків у освітньому процесі.
Система аналізу успішності студентів повинна забезпечувати:
1. Пошук і сортування інформації:
- По кожному студенту;
- За групами;
- По факультетах;
- З кожної дисципліни.
2. Додавання даних про студентів.
3. Видалення даних.
4. Редагування наявних даних.
5. Формування карток і списків.
6. Побудова діаграм.
На практиці це означає виконання автоматизованої обробки аналізу успішності студентів; звільнення співробітників від ряду рутинних робіт з підготовки звітної документації, створення бази даних про студентів; здійснення операцій по створенню архівів успішності студентів. Завдяки автоматизації можна виконувати пошук інформації за запитами викладачів.
Для реалізації даної програми в рамках досліджуваного курсу "Інформаційні системи" ми обрали метод комп'ютерного проектування. Даний проект має оригінальну структуру і компоновку.

1.3. Обгрунтування та вибір інструментальних засобів

Практична реалізація курсового проекту здійснювалася в операційній системі Windows, з використанням електронної таблиці Excel з пакету Microsoft Offiсe.
Табличний процесор Excel 5.0 є одним з найбільш популярних пакетів програм, призначених для створення табличних документів. Запропоновані ним засоби дозволяють вирішувати різноманітні задачі від розрахунку величини прибуткового податку до складання фінансового звіту великої компанії. Система володіє потужними обчислювальними можливостями, чудовими засобами складання ділової графіки, обробки текстів, запровадження баз даних. Робота з табличним процесором Excel дозволяє:
- Використовувати для збереження взаємозалежних таблиць робочу книгу, що складається з окремих листів, які можна в процесі роботи видаляти, перейменовувати, переставляти місцями, копіювати і приховувати;
- Застосовувати зручні засоби коригування даних у таблиці, використовувати широкий спектр можливостей роботи з фрагментами;
- Здійснювати належне оформлення таблиць - застосовувати різноманітні шрифти, способи вирівнювання тексту і чисел, зміни ширини стовпців і висоти рядків, затемнення й обрамлення осередків;
- Застосовувати різноманітні формати відображення числових даних;
- Для графічного представлення даних робітника листа застосовувати широкий набір діаграм, належним чином оформляти їх і друкувати;
- Виконувати звід даних з декількох таблиць шляхом їхньої консолідації.
Користувальницький інтерфейс програми розроблявся на базі мови Visual Basic for Application.
У процесі створення власних прикладних програм мовою VBA виникає необхідність реалізації власних діалогових вікон. Для цього в VBA є потужне інструментальне засіб - конструктор діалогів.
Більшість програм в системі Windows використовують меню, що випадає, що полегшує доступ до директив програми та керуватиме роботою цього додатка. Більш сучасний підхід - використання піктографічного меню, що забезпечує більш простий доступ до основних директивам програми. Visual Basic дозволяє створювати власні призначені для користувача і піктографічні меню. VBA дає можливість записувати макроси за допомогою макрорекордер, а також переглядати лістинг записаного макросу.
VBA також містить засоби налагодження програми - Debug, що значно спрощує коригування і налагодження модулів на етапі проектування програми.
Режим перегляду об'єктів за допомогою редактора VBA дозволяє:
- Розкрити список доступних об'єктів;
- Визначити приналежність того або іншого об'єкта до бібліотеки об'єктів;
- Здійснити перегляд властивостей і методів для обраного об'єкта;
- Отримати довідку з конкретного об'єкту, його властивості або методу.
Мова програмування Visual Basic for Application дає можливість проектувати програми з простим і надійним для користувача інтерфейсом.

1.4. Види діалогових вікон і основних елементів управління

Для створення діалогових вікон використовується конструктор діалогів, що дозволяють створювати діалогові вікна користувача. Для того щоб завантажити конструктор діалогів, необхідно виконати команду Вставка / UserForm редактора VBA. Після цього на екрані з'явиться вікно діалогу і піктографічне меню Панель елементів.
Кожна піктограма меню Панель елементів дає можливість зобразити на діалозі різні елементи управління, що дозволяють скомпонувати діалогове вікно користувача. Кожен елемент управління є об'єктом, тому має ряд властивостей і методів.
Всі елементи керування діалогового вікна користувача об'єднуються набором Controls. Використовуючи даний набір, можна отримати доступ до будь-якого елементу керування на формі, до його властивостей і методів. Застосування даного набору зручно в тих випадках, коли послідовно в циклі перебираються елементи форми, визначається їх кількість, задаються значення тих чи інших загальних властивостей. Список властивостей обраного елемента керування, відображається у вікні властивостей редактора VBA. Таким чином, властивості елемента керування можна змінювати як вручну, так і програмним шляхом.
Елементи управління поділяються на стандартні і додаткові. Розглянемо стандартні елементи управління.
До стандартних елементів керування відносяться кнопки, списки, вікна редагування, лінійки прокрутки тощо
У моїй курсовій роботі використовувалися такі елементи керування:
● Вікно редагування (ім'я, прізвище, по батькові, група, список предметів) дозволяють вводити, змінювати і переглядати дані.
● Лінійка прокрутки дозволяє переглядати оцінки студентів за семестр з конкретного предмета.
● Кнопки для перегляду наявних записів, переходу від одного запису до іншої, додавання і видалення записів і кнопка для виходу з програми.

Глава 2. Практична частина

Після аналізу структури вхідних потоків інформації, для даного проекту був обраний інтерфейс, що відповідає основним вимогам і забезпечує легкість роботи з ним. Інтерфейс - це сукупність засобів, що забезпечують фізичне чи логічне взаємодію пристроїв і програм обчислювальної системи. Для даного проекту інтерфейс - винахід і створення такого способу введення і виведення інформації, який був би максимально простий, зручний і приємний користувачеві.

 

2.1 Опис інтерфейсу

Вікно 1 «курсова робота»

Стартове вікно програми. Це вікно ініціалізується при відкритті документа. У форму додані фоновий малюнок і п'ять елементів управління:
· Елемент «Редагування бази даних» (CommandButton1) - з подією Click була пов'язана процедура Private Sub Edit_Click (), при виконанні якої здійснюється відкриття відповідного вікна.
· Елемент «Створення звіту» (CommandButton2) - з подією Click була пов'язана процедура Private Sub Report_Click (), при виконанні якої з'являється вікно «Звіти».
· Елемент «Діаграма успішності групи» (CommandButton3) - з подією Click була пов'язана процедура Private Sub DiaGroup_Click (). При її виконанні здійснюється відкриття вікна з аналогічною назвою.
· Елемент «Діаграма успішності студента» (CommandButton4) - з подією Click була пов'язана процедура Private Sub DiaStudent_Click (). При виконанні відкривається вікно з аналогічною назвою.
· Елемент «Вихід» (CommandButton5) - з подією Click була пов'язана процедура Private Sub Quit_Click () - вихід з програми.
Вікно 2 «Звіт»
Дане вікно використовується для створення звіту по успішності студента або групи студентів. Форма містить 3 елементи Label, 2 елементи ComboBox, 7 елементів CommandButton і 1 елемент ListBox.
● Кнопка «Створити» (CommandButton1) - з подією Click пов'язана процедура Private Sub Create_Click (), при виконанні якої створюється звіт у відповідності з заданими параметрами.
● Кнопка «Закрити» (CommandButton2) - з подією Click пов'язана процедура Private Sub Cancel_Click () - вихід з форми створення звітів.
● Кнопка «Очистити» (CommandButton3) - з подією Click пов'язана процедура Private Sub Clear_Click (), при виконанні якої відбувається очищення елемента ListBox.
● Кнопка «Вгору» (CommandButton4) - з подією Click пов'язана процедура Private Sub Up_Click (). За допомогою цієї кнопки можна міняти місцями студентів при створенні звітів.
● Кнопка «Вниз» (CommandButton5) - з подією Click пов'язана процедура Private Sub Down_Click (). За допомогою цієї кнопки можна міняти місцями студентів при створенні звітів.
● Кнопка «>>» (CommandButton6) - з подією Click пов'язана процедура Private Sub Add_Click (). За допомогою цієї кнопки можна додавати вибраних студентів у ListBox для створення звітів їх успішності.
● Кнопка «<<» (CommandButton7) - з подією Click пов'язана процедура Private Sub Remove_Click (). За допомогою цієї кнопки можна видаляти вибраних студентів з ListBox.
Вікно 3 «Редагування бази даних»
За допомогою цього вікна можна змінювати список студентів, їх успішність з конкретного предмета, додавати нові записи, видаляти, а також проглядати вже наявну інформацію. Форма містить наступні елементи управління: 8 елементів Label, 6 елементів TextBox, 1 елемент ListBox, 2 елементи SpinButton, 7 елементів CommandButton.
● Кнопка «Додати» (CommandButton1) з подією Click пов'язана процедура Private Sub Update_Click (), при виконанні якої додається новий запис.
● Кнопка «Видалити» (CommandButton2) з подією Click пов'язана процедура Private Sub Delete_Click (), при виконанні якої запис видаляється.
● Кнопка «Закрити» (CommandButton3) з подією Click пов'язана процедура Private Sub Cancel_Click (), при виконанні якої закривається вікно.
● Кнопка «<<» (CommandButton4) з подією Click пов'язана процедура Private Sub Begin_Click (), яка переходить до першого елементу списку.
● Кнопка «>>» (CommandButton5) з подією Click пов'язана процедура Private Sub NewItem_Click (), яка очищає поля для створення нового запису.
● Кнопка «<» (CommandButton7) з подією Click пов'язана процедура Private Sub Backward_Click (), при виконанні якої відбувається перехід до попереднього елементу списку.
Вікно 4 «Діаграма успішності групи»
За допомогою цього вікна ми можемо побудувати діаграми успішності групи з будь-якого окремого предмету. Форма містить наступні елементи управління: 4 елементи Label, 2 елементи ComboBox, 2 елементи CommandButton, 2 елементи OptionButton.
● Кнопка «Створити» (CommandButton1) з подією Click пов'язана процедура Private Sub Create_Click (), яка створює діаграму за заданими параметрами.
● Кнопка «Закрити» (CommandButton2) з подією Click пов'язана процедура Private Sub Cancel_Click (), при виконанні якої закривається вікно.
Вікно 5 «Діаграма успішності студента»
За допомогою цього вікна ми можемо побудувати діаграми успішності студента. Форма містить наступні елементи управління: 4 елементи Label, 2 елементи ComboBox, 2 елементи CommandButton, 2 елементи OptionButton.
● Кнопка «Створити» (CommandButton1) з подією Click пов'язана процедура Private Sub Create_Click (), яка створює діаграму за заданими параметрами.
● Кнопка «Закрити» (CommandButton2) з подією Click пов'язана процедура Private Sub Cancel_Click (), при виконанні якої закривається вікно.
Модулі:
● Sub QDialog1 () - показує форму «Курсова робота».
● Sub Macro1 () - встановлює ширину трьох стовпців A, B, C.
● Sub Macro2 () - Оформлення списку звіту (з допомогою запису макросу).

Висновок

У цій роботі була розроблена програма аналіз успішності студентів.
Програма була розроблена за допомогою мови програмування Visual Basic for Application (VBA).
Мова програмування Visual Basic for Application - швидке, просте рішення багатьох завдань, пов'язаних з програмуванням офісних додатків.
На прикладі даної курсової роботи можна переконатися, як просто створюються діалогові вікна, для найбільш зручного введення інформації в таблиці як простий і зручний інтерфейс даної системи. Також просто створюються власні функції робочого аркуша, функції обробки інформації в таблицях, створювати кнопки керуючі діями програми за бажанням користувача.
Visual Basic for Application володіє досить широкими можливостями базової мови Visual Basic, і дозволяє звертатися практично до всіх можливостей Microsoft Excel по створенню, обробці та зберіганню інформації.
Мова програмування Visual Basic for Application найбільш зручний в роботі і простий у використанні для широкого кола користувачів, що бажають самостійно навчитися створювати програми.
Таким чином, дана програма з аналізу успішності студентів робить найбільш простий роботу користувача в даній області і скорочує час на виконання відповідних операцій.

Список використаної літератури

1. Лекційний матеріал з курсу «Проектування ІВ», Федоренко Г.О.
2. Потапкин А.В., Основи VISUAL BASIC, «ЕКОМ», М., 1996.
3. Рахманіна Г. Excel 2000. Керівництво користувача з прикладами. М., 2001.
4. У. Орвіс «Visual Basic for Application», БІНОМ, М., 1995.
5. Е. Бунін «Excel Visual Basic для додатків», БІНОМ, М., 1996.
6. Visual Basic Help Reference File, Microsoft Corporation, 1996-97.

Програми
ДОДАТОК 1
КЕРІВНИЦТВО КОРИСТУВАЧА
При відкритті файлу з'являється наступне діалогове вікно:
Вікно 1 «Курсова робота»

Рис.1
На ньому розташовані кілька кнопок: редагування бази даних, створення звіту, діаграма успішності групи, діаграма успішності студента, вихід. А також відомості про авторів.
При натисканні кнопки «Редагування бази даних» з'являється діалогове вікно:

Вікно 2 «Редагування бази даних»

Рис.2
За допомогою цього вікна можна змінювати список студентів, їх успішність з конкретного предмета, додавати нові записи, видаляти, а також проглядати вже наявну інформацію.
При натисканні на кнопку «<<», ми переходимо в початок списку.
При натисканні на кнопку «<», ми переходимо до попереднього елементу списку.
При натисканні на кнопку «>», ми переходимо до наступного елементу списку.
При натисканні на кнопку «>>», ми очищаємо поля для створення нового запису.
При натисканні на кнопку «Додати», відбувається додавання нового запису.
При натисканні на кнопку «Видалити», відбувається видалення виділеного запису.
При натисканні на кнопку «Закрити», відбувається закриття даного вікна.
Зі списку предметів за допомогою мишки, ми вибираємо предмет, за допомогою лінійки прокрутки можна змінювати оцінки студентів.
При натисканні кнопки «Створення звіту», з'являється наступне діалогове вікно:

Вікно 3 «Звіт»

Рис.3
Дане вікно використовується для створення звіту по успішності студента або групи студентів.
Кнопки «>>» і «<<» додають і видаляють студентів зі списку для створення звіту:

Рис.4
Кнопка «Очистити» - очищає поле списку студентів.
Кнопки «Вгору» і «Вниз» - дозволяють переміщати студентів за списком.
При натисканні на кнопку «Створити» - з'являється звіт за введеними параметрами:

Рис.5
При натисканні кнопки «Закрити» - це вікно закривається.
При натисканні на кнопку «Діаграма успішності групи» з'являється діалогове вікно:
Вікно 4 «Діаграма успішності групи»:

Рис.6
У полі «Група» вибираємо потрібну зі списку, у полі «Предмет» вибираємо предмет і вибираємо курсором першу або 2-ий семестр. Натискаємо на кнопку «Створити». З'являється вікно:

Рис.7
Кнопка "Закрити" - для виходу.
При натисканні на кнопку «Діаграма успішності студента» з'являється вікно:
Вікно 5 «Діаграма успішності студента»:

Рис.8
Вибираємо групу, студента і семестр і створюємо діаграму за заданими параметрами:

Рис.9
Кнопка "Закрити" - для виходу з вікна.
При натисканні кнопки «Вихід» у вікні «Курсова робота» здійснюється вихід з програми.

ДОДАТОК 2
ВИХІДНИЙ КОД ПРОГРАМИ
Форма «MainForm»:
Private Sub DiaGroup_Click ()
DiaGroupForm.Show
End Sub
Private Sub DiaStudent_Click ()
DiaStudentForm.Show
End Sub
Private Sub Edit_Click ()
DataForm.Show
End Sub
Private Sub Label2_Click ()
End Sub
Private Sub Quit_Click ()
Unload Me
End Sub
Private Sub Report_Click ()
ReportForm.Show
End Sub
Форма «ReportForm»:
Dim Cursor As Integer
Private Sub Add_Click ()
For i = 0 To Queue.ListCount - 1
If Queue.List (i) = Group.Value + "-" + Student.Value Then
MsgBox "Такий елемент вже є в черзі!"
Exit Sub
End If
Next i
Queue.AddItem Group.Value + "-" + Student.Value
End Sub
Private Sub Cancel_Click ()
Me.Hide
End Sub
Private Sub Clear_Click ()
Queue.Clear
End Sub
Private Sub Create_Click ()
Dim StudentVal As String
Dim GroupVal As String
Dim i As Integer
Dim j As Integer
Dim Value As String
Dim Row As Integer
Row = 2
ActiveWorkbook.Worksheets.Add After: = Worksheets (Worksheets.Count)
With ActiveSheet
. Cells.Clear
. Columns (1). ColumnWidth = 26
. Columns (2). ColumnWidth = 20
. Columns (3). ColumnWidth = 20
For i = 0 To Queue.ListCount - 1
GroupVal = Split (Queue.List (i), "-") (0)
StudentVal = Split (Queue.List (i), "-") (1)
j = 2
Do
Value = Worksheets ("Storage"). Cells (j, 1). Value
If Len (Value)> 0 Then
If Worksheets ("Storage"). Cells (j, 1) = GroupVal And Worksheets ("Storage"). Cells (j, 2) + "" + Worksheets ("Storage"). Cells (j, 3) + "" + Worksheets ("Storage"). Cells (j, 4) = StudentVal Then
. Cells (Row, 1). Value = "Група"
. Cells (Row, 2). Value = GroupVal
Range (. Cells (Row, 2),. Cells (Row, 3)). MergeCells = True
. Cells (Row + 1, 1). Value = "Студент"
. Cells (Row + 1, 2). Value = StudentVal
Range (. Cells (Row + 1, 2),. Cells (Row + 1, 3)). MergeCells = True
Range (. Cells (Row, 2),. Cells (Row + 1, 2)). Select
With Selection.Interior
. ColorIndex = 36
. Pattern = xlSolid
End With
. Cells (Row + 2, 1). Value = "Оцінки з предметів"
. Cells (Row + 2, 2). Value = "1-й семестр"
. Cells (Row + 2, 3). Value = "2-ий семестр"
Range (. Cells (Row + 2, 2),. Cells (Row + 2, 3)). Select
With Selection
. HorizontalAlignment = xlCenter
. Interior.ColorIndex = 37
. Interior.Pattern = xlSolid
End With
For k = 0 To 8
. Cells (Row + 3 + k, 1). Value = Worksheets ("Storage"). Cells (1, k + 5). Value
. Cells (Row + 3 + k, 2). Value = Split (Worksheets ("Storage"). Cells (j, k + 5). Value, ":")( 0)
. Cells (Row + 3 + k, 3). Value = Split (Worksheets ("Storage"). Cells (j, k + 5). Value, ":")( 1)
Next k
Range (. Cells (Row + 3, 2),. Cells (Row + 2 + k, 3)). Select
With Selection
. HorizontalAlignment = xlCenter
. Interior.ColorIndex = 35
. Interior.Pattern = xlSolid
End With
Range (. Cells (Row, 1),. Cells (Row + 2 + k, 1)). Select
With Selection.Interior
. ColorIndex = 40
. Pattern = xlSolid
End With
Range (. Cells (Row, 1),. Cells (Row + 2 + k, 3)). Select
Selection.Borders (xlDiagonalDown). LineStyle = xlNone
Selection.Borders (xlDiagonalUp). LineStyle = xlNone
With Selection.Borders (xlEdgeLeft)
. LineStyle = xlContinuous
. Weight = xlThin
. ColorIndex = xlAutomatic
End With
With Selection.Borders (xlEdgeTop)
. LineStyle = xlContinuous
. Weight = xlThin
. ColorIndex = xlAutomatic
End With
With Selection.Borders (xlEdgeBottom)
. LineStyle = xlContinuous
. Weight = xlThin
. ColorIndex = xlAutomatic
End With
With Selection.Borders (xlEdgeRight)
. LineStyle = xlContinuous
. Weight = xlThin
. ColorIndex = xlAutomatic
End With
With Selection.Borders (xlInsideVertical)
. LineStyle = xlContinuous
. Weight = xlThin
. ColorIndex = xlAutomatic
End With
With Selection.Borders (xlInsideHorizontal)
. LineStyle = xlContinuous
. Weight = xlThin
. ColorIndex = xlAutomatic
End With
Row = Row + k + 5
End If
End If
j = j + 1
Loop Until Len (Value) = 0
Next i
End With
End Sub
Private Sub Down_Click ()
Dim Index As Integer
Dim Value As String
Index = Queue.ListIndex
If Index <> Queue.ListCount - 1 And Index <> - 1 Then
Value = Queue.Value
Queue.RemoveItem (Index)
Queue.AddItem Value, Index + 1
Queue.ListIndex = Index + 1
End If
End Sub
Private Sub Group_Change ()
Dim i As Integer
Dim Value As String
i = 2
Student.Clear
With ActiveWorkbook.Sheets (1)
Do
Value =. Cells (i, 1). Value
If Value = Group.Value Then
Student.AddItem. Cells (i, 2). Value + "" +. Cells (i, 3). Value + "" +. Cells (i, 4). Value
End If
i = i + 1
Loop Until Len (Value) = 0
End With
Student.ListIndex = 0
End Sub
Private Sub Remove_Click ()
If Not (Queue.ListCount = 0 Or Queue.ListIndex = - 1) Then
Queue.RemoveItem Queue.ListIndex
End If
End Sub
Private Sub Up_Click ()
Dim Index As Integer
Dim Value As String
Index = Queue.ListIndex
If Index> 0 Then
Value = Queue.Value
Queue.RemoveItem Index
Queue.AddItem Value, Index - 1
Queue.ListIndex = Index - 1
End If
End Sub
Private Sub UserForm_Initialize ()
Dim i As Integer
Dim Value As String
i = 2
With ActiveWorkbook.Sheets (1)
Do
Value =. Cells (i, 1). Value
If Len (Value)> 0 Then
For j = 0 To Group.ListCount - 1
If Group.List (j) = Value Then Exit For
Next j
If j = Group.ListCount Then Group.AddItem Value
i = i + 1
End If
Loop Until Len (Value) = 0
End With
Group.ListIndex = 0
End Sub
Форма «DataForm»:
Dim Cursor As Integer
Dim Count As Integer
Dim ObjectList () As Integer
Private Sub AutumnCtrl_Change ()
Autumn.Value = AutumnCtrl.Value
ObjectList (Objects.ListIndex, 0) = Autumn.Value
End Sub
Private Sub Backward_Click ()
If Cursor - 1> = 0 Then
Cursor = Cursor - 1
LoadObject (Cursor)
End If
End Sub
Private Sub Begin_Click ()
Cursor = 0
LoadObject (Cursor)
End Sub
Private Sub Cancel_Click ()
Me.Hide
End Sub
Private Sub Delete_Click ()
If Cursor <> Count Then
ActiveWorkbook.Sheets ("Storage"). Rows (Cursor + 2). Delete Shift: = xlUp
If Cursor = Count - 1 Then Cursor = Cursor - 1
Count = Count - 1
LoadObject (Cursor)
End If
End Sub
Private Sub Forward_Click ()
If Cursor + 1 <= Count Then
If Cursor + 1 = Count Then
NewItem_Click
Exit Sub
End If
Cursor = Cursor + 1
LoadObject (Cursor)
End If
End Sub
Private Sub NewItem_Click ()
Cursor = Count
ClearObject
ItemCount.Caption = "Новий елемент"
End Sub
Private Sub Objects_Change ()
Autumn.Value = ObjectList (Objects.ListIndex, 0)
Spring.Value = ObjectList (Objects.ListIndex, 1)
AutumnCtrl.Value = Autumn.Value
SpringCtrl.Value = Spring.Value
End Sub
Private Sub SpringCtrl_Change ()
Spring.Value = SpringCtrl.Value
ObjectList (Objects.ListIndex, 1) = Spring.Value
End Sub
Private Sub Update_Click ()
With ActiveWorkbook.Sheets ("Storage")
If (Len (Group.Value) = 0) Then
MsgBox "Необхідно ввести номер групи!"
Exit Sub
End If
If (Len (Last.Value) = 0) Then
MsgBox "Необхідно ввести прізвище студента!"
Exit Sub
End If
If (Len (First.Value) = 0) Then
MsgBox "Необхідно ввести ім'я студента!"
Exit Sub
End If
If (Len (Middle.Value) = 0) Then
MsgBox "Необхідно ввести по батькові студента!"
Exit Sub
End If
. Cells (Cursor + 2, 1) = Group.Value
. Cells (Cursor + 2, 2) = Last.Value
. Cells (Cursor + 2, 3) = First.Value
. Cells (Cursor + 2, 4) = Middle.Value
For i = 0 To Objects.ListCount - 1
. Cells (Cursor + 2, i + 5) = Trim (Str (ObjectList (i, 0))) + ":" + Trim (Str (ObjectList (i, 1)))
Next i
End With
If Cursor = Count Then
Count = Count + 1
ItemCount.Caption = "Елемент" + Str (Cursor + 1) + "з" + Str (Count)
End If
End Sub
Private Sub UserForm_Initialize ()
Dim i As Integer
Dim Value As String
Cursor = 0
i = 5
Count = GetListCount ()
With ActiveWorkbook.Sheets ("Storage")
Do
Value =. Cells (1, i). Value
If Len (Value)> 0 Then
For j = 0 To Objects.ListCount - 1
If Objects.List (j) = Value Then Exit For
Next j
If j = Objects.ListCount Then Objects.AddItem Value
i = i + 1
End If
Loop Until Len (Value) = 0
End With
ReDim ObjectList (Objects.ListCount - 1, 1)
LoadObject (Cursor)
End Sub
Private Sub LoadObject (Index As Integer)
With ActiveWorkbook.Sheets ("Storage")
Group.Value =. Cells (Cursor + 2, 1)
Last.Value =. Cells (Cursor + 2, 2)
First.Value =. Cells (Cursor + 2, 3)
Middle.Value =. Cells (Cursor + 2, 4)
For i = 0 To Objects.ListCount - 1
ObjectList (i, 0) = Split (. Cells (Cursor + 2, i + 5), ":")( 0)
ObjectList (i, 1) = Split (. Cells (Cursor + 2, i + 5), ":")( 1)
Next i
If Objects.ListIndex = 0 Then Call Objects_Change
Objects.ListIndex = 0
ItemCount.Caption = "Елемент" + Str (Cursor + 1) + "з" + Str (Count)
End With
End Sub
Private Function GetListCount () As Integer
Dim i As Integer
GetListCount = 0
While Len (ThisWorkbook.Sheets ("Storage"). Cells (GetListCount + 2, 1). Value) <> 0
GetListCount = GetListCount + 1
Wend
End Function
Private Sub ClearObject ()
Group.Value = ""
First.Value = ""
Last.Value = ""
Middle.Value = ""
For i = 0 To Objects.ListCount - 1
ObjectList (i, 0) = 2
ObjectList (i, 1) = 2
Next i
Autumn.Value = ""
Spring.Value = ""
Call Objects_Change
End Sub
Форма «DiaGroupForm»:
Private Sub Autumn_Click ()
Autumn.Value = True
Spring.Value = False
End Sub
Private Sub Cancel_Click ()
Me.Hide
End Sub
Private Sub Create_Click ()
Dim j As Integer
Dim Stat (3) As Integer
Dim Index As Integer
Dim Count As Integer
Dim ChartObj As ChartObject
j = 2
Index = 0
For i = 0 To 3
Stat (i) = 0
Next i
If Autumn.Value = True Then Index = 0 Else Index = 1
ActiveWorkbook.Worksheets.Add After: = Worksheets (Worksheets.Count)
With ActiveSheet
. Cells.Clear
Do
Value = Worksheets ("Storage"). Cells (j, 1). Value
If Len (Value)> 0 Then
If Worksheets ("Storage"). Cells (j, 1). Value = Group.Value Then
If Split (Worksheets ("Storage"). Cells (j, Object.ListIndex + 5). Value, ":")( Index) = "5" Then Stat (0) = Stat (0) + 1
If Split (Worksheets ("Storage"). Cells (j, Object.ListIndex + 5). Value, ":")( Index) = "4" Then Stat (1) = Stat (1) + 1
If Split (Worksheets ("Storage"). Cells (j, Object.ListIndex + 5). Value, ":")( Index) = "3" Then Stat (2) = Stat (2) + 1
If Split (Worksheets ("Storage"). Cells (j, Object.ListIndex + 5). Value, ":")( Index) = "2" Then Stat (3) = Stat (3) + 1
End If
End If
j = j + 1
Loop Until Len (Value) = 0
. Cells (1, 1). Value = "Діаграма успішності групи" + Group.Value
. Cells (2, 1). Value = "з предмету" + Object.Value
. Cells (3, 1). Value = "за" + Str (Index + 1) + "-й семестр"
For i = 0 To 3
. Cells (i + 4, 1). Value = "Оцінка" + Str (5 - i)
. Cells (i + 4, 2). Value = Str (Stat (i))
Next i
Set ChartObj =. ChartObjects.Add (0, 0, 400, 400)
ChartObj.Chart.ChartType = xlPie
ChartObj.Chart.SeriesCollection.Add Source: = Range (. Cells (4, 2),. Cells (7, 2))
ChartObj.Chart.SeriesCollection.Item (1). XValues ​​= Range (. Cells (4, 1),. Cells (7, 1))
ChartObj.Chart.HasLegend = True
ChartObj.Chart.Legend.Position = xlBottom
ChartObj.Chart.HasTitle = True
ChartObj.Chart.ChartTitle.Text = "Діаграма успішності групи" + Group.Value + Chr (10) + "з предмету" + Object.Value + Chr (10) + "за" + Str (Index + 1) + "- й семестр "
End With
End Sub
Private Sub Spring_Click ()
Spring.Value = True
Autumn.Value = False
End Sub
Private Sub UserForm_Initialize ()
Dim i As Integer
Dim Value As String
i = 2
With ActiveWorkbook.Sheets (1)
Do
Value =. Cells (i, 1). Value
If Len (Value)> 0 Then
For j = 0 To Group.ListCount - 1
If Group.List (j) = Value Then Exit For
Next j
If j = Group.ListCount Then Group.AddItem Value
i = i + 1
End If
Loop Until Len (Value) = 0
End With
Group.ListIndex = 0
For j = 0 To 8
Object.AddItem ActiveWorkbook.Sheets ("Storage"). Cells (1, j + 5). Value
Next j
Object.ListIndex = 0
Autumn.Value = True
End Sub
Форма «DiaStudentForm»:
Private Sub Autumn_Click ()
Autumn.Value = True
Spring.Value = False
End Sub
Private Sub Cancel_Click ()
Me.Hide
End Sub
Private Sub Create_Click ()
Dim j As Integer
Dim Stat (3) As Integer
Dim Index As Integer
Dim Count As Integer
Dim ChartObj As ChartObject
j = 2
Index = 0
For i = 0 To 3
Stat (i) = 0
Next i
If Autumn.Value = True Then Index = 0 Else Index = 1
ActiveWorkbook.Worksheets.Add After: = Worksheets (Worksheets.Count)
With ActiveSheet
. Cells.Clear
Do
Value = Worksheets ("Storage"). Cells (j, 1). Value
If Len (Value)> 0 Then
If Worksheets ("Storage"). Cells (j, 2). Value + "" + Worksheets ("Storage"). Cells (j, 3). Value + "" + Worksheets ("Storage"). Cells (j, 4). Value = Student.Value Then Exit Do
End If
j = j + 1
Loop Until Len (Value) = 0
For i = 0 To 8
If Split (Worksheets ("Storage"). Cells (j, i + 5). Value, ":")( Index) = "5" Then Stat (0) = Stat (0) + 1
If Split (Worksheets ("Storage"). Cells (j, i + 5). Value, ":")( Index) = "4" Then Stat (1) = Stat (1) + 1
If Split (Worksheets ("Storage"). Cells (j, i + 5). Value, ":")( Index) = "3" Then Stat (2) = Stat (2) + 1
If Split (Worksheets ("Storage"). Cells (j, i + 5). Value, ":")( Index) = "2" Then Stat (3) = Stat (3) + 1
Next i
. Cells (1, 1). Value = "Діаграма успішності студента:"
. Cells (2, 1). Value = Student.Value
. Cells (3, 1). Value = Str (Index + 1) + "-й семестр"
For i = 0 To 3
. Cells (i + 4, 1). Value = "Оцінка" + Str (5 - i)
. Cells (i + 4, 2). Value = Str (Stat (i))
Next i
Set ChartObj =. ChartObjects.Add (0, 0, 400, 400)
ChartObj.Chart.ChartType = xlPie
ChartObj.Chart.SeriesCollection.Add Source: = Range (. Cells (4, 2),. Cells (7, 2))
ChartObj.Chart.SeriesCollection.Item (1). XValues ​​= Range (. Cells (4, 1),. Cells (7, 1))
ChartObj.Chart.HasLegend = True
ChartObj.Chart.Legend.Position = xlBottom
ChartObj.Chart.HasTitle = True
ChartObj.Chart.ChartTitle.Text = "Діаграма успішності студента" + Chr (10) + Student.Value + Chr (10) + Str (Index + 1) + "-й семестр"
End With
End Sub
Private Sub Group_Change ()
Dim i As Integer
Dim Value As String
i = 2
Student.Clear
With ActiveWorkbook.Sheets ("Storage")
Do
Value =. Cells (i, 1). Value
If Value = Group.Value Then
Student.AddItem. Cells (i, 2). Value + "" +. Cells (i, 3). Value + "" +. Cells (i, 4). Value
End If
i = i + 1
Loop Until Len (Value) = 0
End With
Student.ListIndex = 0
End Sub
Private Sub Spring_Click ()
Spring.Value = True
Autumn.Value = False
End Sub
Private Sub UserForm_Initialize ()
Dim i As Integer
Dim Value As String
i = 2
With ActiveWorkbook.Sheets ("Storage")
Do
Value =. Cells (i, 1). Value
If Len (Value)> 0 Then
For j = 0 To Group.ListCount - 1
If Group.List (j) = Value Then Exit For
Next j
If j = Group.ListCount Then Group.AddItem Value
i = i + 1
End If
Loop Until Len (Value) = 0
End With
Group.ListIndex = 0
Autumn.Value = True
End Sub
Модулі:
Модуль Main:
Public Sub QDialog1 ()
MainForm.Show
End Sub
Модуль Module 1:
Sub Macro1 ()
''Macro1 Macro
'Macro recorded 25.12.2006 by Zeon
'Columns ("A: A"). ColumnWidth = 33.29
Columns ("B: B"). ColumnWidth = 17.14
Columns ("C: C"). ColumnWidth = 16.57
End Sub
Модуль Module 2:
Sub Macro2 ()
''Macro2 Macro
'Macro recorded 25.12.2006 by Zeon
'Range ("C17: D17"). Select
With Selection
. HorizontalAlignment = xlCenter
. VerticalAlignment = xlBottom
. WrapText = False
. Orientation = 0
. AddIndent = False
. IndentLevel = 0
. ShrinkToFit = False
. ReadingOrder = xlContext
. MergeCells = False
End With
Selection.Merge
Range ("C16: D16"). Select
With Selection
. HorizontalAlignment = xlCenter
. VerticalAlignment = xlBottom
. WrapText = False
. Orientation = 0
. AddIndent = False
. IndentLevel = 0
. ShrinkToFit = False
. ReadingOrder = xlContext
. MergeCells = False
End With
Selection.Merge
Range ("C19: D27"). Select
With Selection
. HorizontalAlignment = xlCenter
. VerticalAlignment = xlBottom
. WrapText = False
. Orientation = 0
. AddIndent = False
. IndentLevel = 0
. ShrinkToFit = False
. ReadingOrder = xlContext
. MergeCells = False
End With
Range ("B16: D27"). Select
Selection.Borders (xlDiagonalDown). LineStyle = xlNone
Selection.Borders (xlDiagonalUp). LineStyle = xlNone
With Selection.Borders (xlEdgeLeft)
. LineStyle = xlContinuous
. Weight = xlThin
. ColorIndex = xlAutomatic
End With
With Selection.Borders (xlEdgeTop)
. LineStyle = xlContinuous
. Weight = xlThin
. ColorIndex = xlAutomatic
End With
With Selection.Borders (xlEdgeBottom)
. LineStyle = xlContinuous
. Weight = xlThin
. ColorIndex = xlAutomatic
End With
With Selection.Borders (xlEdgeRight)
. LineStyle = xlContinuous
. Weight = xlThin
. ColorIndex = xlAutomatic
End With
With Selection.Borders (xlInsideVertical)
. LineStyle = xlContinuous
. Weight = xlThin
. ColorIndex = xlAutomatic
End With
With Selection.Borders (xlInsideHorizontal)
. LineStyle = xlContinuous
. Weight = xlThin
. ColorIndex = xlAutomatic
End With
Range ("C16: D17"). Select
With Selection
. HorizontalAlignment = xlLeft
. VerticalAlignment = xlBottom
. WrapText = False
. Orientation = 0
. AddIndent = False
. IndentLevel = 0
. ShrinkToFit = False
. ReadingOrder = xlContext
End With
Range ("B16: B27"). Select
With Selection.Interior
. ColorIndex = 36
. Pattern = xlSolid
End With
Range ("C16: D17"). Select
With Selection.Interior
. ColorIndex = 35
. Pattern = xlSolid
End With
Range ("C18: D18"). Select
With Selection.Interior
. ColorIndex = 37
. Pattern = xlSolid
End With
Range ("C19: D27"). Select
With Selection.Interior
. ColorIndex = 40
. Pattern = xlSolid
End With
End Sub
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
59.3кб. | скачати


Схожі роботи:
Успішність бренду
Вплив самооцінки на успішність навчання
Соціальна успішність як результат соціалізації
Проблема зайнятості студентів на прикладі студентів денного відділення
Вплив рівня домагань особистості на успішність учнів
Вплив рівня домагань особистості на успішність учнів 2
Вплив тривожності на успішність навчання молодшого шкільного віку
Вплив темпераменту на успішність навчальної діяльності молодшого школяра
Позитивний вплив фізичної культури і спорту на навчальну успішність школярів
© Усі права захищені
написати до нас