Курсовая работа: Компьютерная подготовка

Курсовая работа: Компьютерная подготовка




🛑 👉🏻👉🏻👉🏻 ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻




























































Выполнил студент ТМЦДО гр.: з-472-27б специальности 061000 Маркелова А.А.
Томский государственный университет систем управления и радиоэлектроники (ТУСУР)
Кафедра автоматизации обработки информации.
Написать программу, которая формирует базу «Телефонный справочник», содержащую следующие сведения: ФИО, адрес, телефон. Просмотр базы и обработка должна выполняться в программе Excel.
Программа должна удовлетворять следующим требованиям:
Приложение выполнить с использованием языка программирования VBA для MSExcel.
При открытии книги Excel, содержащей проект, обеспечить один рабочий лист, на котором оформить рекламную заставку проекта и поместить элемент запуска проекта на исполнение.
Проект должен обеспечивать следующие режимы работы:
ввод исходных данных и формирование базы;
корректировка данных (исправление, добавление, удаление);
работа с данными (поиск, сортировка, просмотр);
общее количество абонентов телефонной сети;
количество телефонов на указанной улице;
количество телефонов в указанном доме.
Для каждого режима работы определить кнопку запуска и пользовательскую форму.
На экране разместить одну панель инструментов, обеспечивающую работу проекта. Остальные панели скрыть.
При вводе числовых данных обеспечить обработку ошибок некорректного ввода.
Цель работы: закрепление знаний, полученных при изучении курса «Компьютерная подготовка», а также приобретение новых навыков создания завершенных программных приложений для MSExcel.
В дополнение к огромным возможностям MSExcel, входящего в состав MicrosoftOffice квалифицированному пользователю доступен полноценный язык программирования VisualBasicforApplications (VBA), позволяющий оживить страницы электронных таблиц, превратив их в сложное Windows – приложение, осуществляющее многогранную обработку данных под управлением оператора. При этом, большинство часто используемых операций программируется заранее, что упрощает работу конечного пользователя и значительно снижает вероятность возникновения ошибки как на этапе ввода исходных данных, так и при их последующей обработке.
В настоящей работе используются наиболее часто употребляемые элементы проектирования приложений для MSExcel. В том числе: процедуры (подпрограммы и функции), модули и формы. В коде VBA применялись различные типы данных (включая определенные пользователям описания типов), многоуровневые условные операторы и операторы циклов. Для реализации хранения информации во внешнем файле использованы встроенные функции работы с файлами (последовательный доступ).
Диалог с пользователем реализован при помощи функций ввода/вывода информации InputBox и MsgBox, а также ряда специально созданных форм. В указанных формах применены элементы управления типа: надпись, поле, рамка, переключатель, кнопка.
Поскольку программирование на VBA построено на основе событийной модели, то и в данной работе обработка событий является основой для выполнения тех или иных действий, направленных на решение конкретных задач.
MSExcel имеет богатую объектную модель. При решении поставленной задачи использовались объекты следующих типов: Application, Workbook, Worksheet, Range, CommandBar, а также коллекции Workbooks и Worksheets.
Работа выполнена в среде MicrosoftExcel 2002.
Программный комплекс «Телефонный справочник» состоит из двух файлов, располагаемых в каталоге “c:\tmp\”:
"Телефонный справочник.xls" – основной файл, содержащий таблицу просмотра базы данных и инструменты, необходимые для работы с ней.
"phones.db" – вспомогательный текстовый файл, используемый для хранения базы данных.
Работа программы осуществляется под управлением MicrosoftExcel, входящего в состав пакета MicrosoftOffice, поэтому для ее использования необходимо наличие указанного пакета на клиентском компьютере.
Описываемое Excel-приложение в своем составе содержит:
Рабочую книгу Workbook «Телефонный справочник» + программный код VBA, состоящую из двух листов:
Worksheet Лист1 (Старт) + программный код VBA
Worksheet Лист2 (База данных) + программный код VBA
addRowForm – для режима добавления новой записи
delRowForm – для режима удаления записи
editRowForm – для режима редактирования записи
reportForm – для режима формирования статистики
sortForm – для режима сортировки базы данных
Модуль Module1, содержащий описание типа данных Record для одной записи об абоненте, а также функции работы (чтения/записи) с такими данными и внешним файлом.
Панель инструментов “Phones”, обеспечивающую работу программы и состоящую из девяти кнопок:
Для запуска программы необходимо в MSExcel открыть книгу:
Вы увидите один лист с рекламной надписью и двумя кнопками. Для отображения листа с базой данных нажмите на кнопку «Начать работу».
В результате, рекламная страница исчезнет, а вместо нее появится основной лист, содержащий шапку базы данных и панель инструментов для работы.
Поскольку вся информация хранится во внешнем файле, то для загрузки базы данных на лист Excel таблицы необходимо на панели инструментов нажать кнопку «Открыть базу данных». При этом существующие на листе данные будут заменены информацией из внешнего файла “phones.db”.
Для сохранения результатов работы с базой данных нажмите кнопку «Сохранить базу данных» на панели инструментов. Вся текущая информация, отображаемая на листе, будет записана во внешний файл “phones.db”.
В целях безопасности, листы книги защищены от корректировки обычными способами. Поэтому для добавления, изменения и удаления информации предусмотрены соответствующие режимы работы, инициируемые второй группой кнопок панели инструментов.
При нажатии на любую из них, будет предложено диалоговое окно, в котором в соответствующие поля нужно занести новую (откорректировать существующую) информацию и нажать кнопку подтверждения операции.
Если перед выбором режима удаления записи были отмечены несколько строк базы данных, то вместо отображения формы с удаляемой информацией будет просто предложено подтвердить удаление отмеченных записей.
Внимание. В режиме добавления/корректировки записи обязательны для заполнения поля: Фамилия, Имя, Отчество, Улица, Дом, Телефон. Кроме того, в поле Телефон допускается ввод только числовых данных (не более 10 цифр).
Для поиска нужной информации нажмите кнопку «Найти» на панели инструментов. Будет запущен стандартный механизм поиска информации по листу MSExcel.
В программе предусмотрено три режима сортировки данных:
По абоненту (фамилия + имя + отчество);
По адресу (улица + дом + квартира);
Для выполнения сортировки достаточно нажать соответствующую кнопку на панели инструментов и выбрать один из трех предложенных режимов.
Согласно заданию программа позволяет рассчитать следующую статистику:
Общее количество абонентов телефонной сети;
Количество телефонов на указанной улице;
Количество телефонов в указанном доме.
Войдите в режим «Отчет», выберите требуемый отчет и, при необходимости, задайте параметры его формирования. Количество абонентов по заданным реквизитам будет посчитано и отображено в диалоговом окне.
Для завершения работы с программой нажмите кнопку «Выход» на панели инструментов. Лист с базой данной будет скрыт, а появится лист с рекламной заставкой. Для подтверждения выхода повторно выберите кнопку «Выход». Если «Телефонный справочник» был единственной открытой книгой, приложение MSExcel будет полностью закрыто, в противном случае – закроется только книга с описываемой программой.
Внимание. Не забывайте сохранять информацию во внешнем файле, иначе последние корректировки могут быть утеряны.
Все стандартные панели инструментов скрываются и восстанавливаются при открытии / закрытии книги «Телефонный справочник», а также при переключении между окнами. Во избежание проблем с восстановлением стандартного набора панелей инструментов не рекомендуется самостоятельно менять набор отображаемых панелей инструментов пока описываемая книга остается открыта.
При возникновении любой нестандартной ситуации следует закрыть книгу «Телефонный справочник» и выставить нужные панели через меню «Вид».
В ходе выполнения работы были закреплены знания по работе в MSExcel и основам программирования на VBA, а также приобретены практические навыки создания завершенных программных приложений для MSExcel.
Результатом проделанной работы является приложение «Телефонный справочник», функционально выполняющее основные задачи, стоящие перед приложением такого уровня и назначения.
Разумеется, выполненный проект не является завершенным в полной мере. В качестве направлений для развития проекта можно упомянуть, например, более конкретизированный механизм поиска информации или реализация оптимальных методов сортировки (что может быть более эффективным на больших объемах информации).
Потахова И.В. Компьютерная подготовка. Офисное программирование: Учебное пособие. – Томск: Томский межвузовский центр дистанционного образования, 2004. – 181с.
Справочноеруководствопо MS Excel и Visual Basic for Applications: Microsoft Corp., 2001.
Демидова Л.А., Пылькин А.Н. Программирование в среде VisualBasicforApplications: Практикум – М.: Горячая линия – Телеком, 2004. – 175с.
Dim oldBars(20) As Long, kol As Integer
ForEach bar In Application.CommandBars
If bar.Visible AndNot (bar.Protection = msoBarNoChangeVisible) _
And (bar.Type = msoBarTypeNormal) AndNot (bar.Name = "Phones") Then
Application.CommandBars(oldBars(i)).Visible = False
If ThisWorkbook.ActiveSheet.Name = "Базаданных"Then
Application.CommandBars(oldBars(i)).Visible = True
ThisWorkbook.Worksheets("Старт").Visible = True' спрятатьстартовыйлист
ThisWorkbook.Worksheets("Старт").Activate ' сделатьактивнымлистсБД
ThisWorkbook.Worksheets("Базаданных").Visible = False' показатьбазуданных
ThisWorkbook.Worksheets("Базаданных").Visible = True' показатьбазуданных
ThisWorkbook.Worksheets("База данных").Activate' сделать активным лист с БД
ThisWorkbook.Worksheets("Старт").Visible = False' спрятать стартовый лист
If (ActiveCell.row < 5) Or (Len(ActiveCell.EntireRow.Cells(, 1).Value) = 0) Then
If (ActiveCell.row < 5) Or (Len(ActiveCell.EntireRow.Cells(, 1).Value) = 0) Then
response = MsgBox("Отмеченозаписей: " + Str(Selection.Rows.count) + Chr(13) + "Удалитьвсе?", vbYesNoCancel, "Внимание!")
If (ActiveCell.row < 5) Or (Len(ActiveCell.EntireRow.Cells(, 1).Value) = 0) Then
Dim box As Variant, boxes As Variant
boxes = Array(FamBox, ImBox, OtBox, StreetBox, NoBox, PhoneBox)
IfLen(Trim(PhoneBox.Value)) > 10Then
MsgBox"Более 10 цифр в номере телефона"
myRecord.Phone = Val(PhoneBox.Value)
' добавление строки на лист и ее заполнение
putRecord ActiveCell.EntireRow, myRecord
PrivateSub PhoneBox_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If (KeyAscii < Asc("0")) Or (KeyAscii > Asc("9")) Then
MsgBox"Допускается ввод только цифр!"
myRecord = getRecord(ActiveCell.EntireRow)
myRecord = getRecord(ActiveCell.EntireRow)
Dim box As Variant, boxes As Variant
boxes = Array(FamBox, ImBox, OtBox, StreetBox, NoBox, PhoneBox)
IfLen(Trim(PhoneBox.Value)) > 10Then
MsgBox"Более 10 цифр в номере телефона"
myRecord.Phone = Val(PhoneBox.Value)
' добавление строки на лист и ее заполнение
putRecord ActiveCell.EntireRow, myRecord
PrivateSub PhoneBox_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If (KeyAscii < Asc("0")) Or (KeyAscii > Asc("9")) Then
MsgBox"Допускается ввод только цифр!"
Dim street AsString, no AsString, title AsString
MsgBox"Общее количество абонентов: " + Str(counter)
myRecord = getRecord(ActiveCell.EntireRow)
street = InputBox("Задайтенаименованиеулицы:", title, myRecord.street)
MsgBox "Количествотелефоновнаулице '" + street + "': " + Str(counter)
street = InputBox("Задайтенаименованиеулицы:", title, myRecord.street)
no = InputBox("Улица '" + street + "'" + Chr(10) + "Задайтеномердома:", title, myRecord.no)
MsgBox"Количество телефонов в доме '" + street + " " + no + "': " + Str(counter)
PrivateFunction count(Optional street, Optional no) As Long
Dim doCalc As Boolean, counter As Long
Set data = ActiveCell.CurrentRegion
doCalc = (Trim(myRecord.street) = street)
doCalc = (Trim(myRecord.street) = street) And (Trim(myRecord.no) = no)
If doCalc Then counter = counter + 1
Set rng = sht.Range(sht.Cells(5, 1), sht.Cells(65536, 1).End(xlUp).Offset(, 7))
rng.sort Key1:=sht.Columns("A"), Order1:=xlAscending, Key2:=sht.Columns("B"), Order2:=xlAscending, Key3:=sht.Columns("C"), Order3:=xlAscending, Header:=xlNo
rng.sort Key1:=sht.Columns("D"), Order1:=xlAscending, Key2:=sht.Columns("E"), Order2:=xlAscending, Key3:=sht.Columns("F"), Order3:=xlAscending, Header:=xlNo
rng.sort Key1:=sht.Columns("G"), Order1:=xlAscending, Header:=xlNo
PublicFunction dbFileName() AsString
dbFileName = ThisWorkbook.Path + "\phones.db"
If ThisWorkbook.ActiveSheet.Name = "Старт"Then
ThisWorkbook.Worksheets("Старт").Visible = True' спрятатьстартовыйлист
ThisWorkbook.Worksheets("Старт").Activate ' сделатьактивнымлистсБД
ThisWorkbook.Worksheets("Базаданных").Visible = False' показатьбазуданных
If Application.Workbooks.count = 1Then
Application.Quit 'завершитьработу Excel
ThisWorkbook.Close'завершить работу проекта
Set data = ActiveCell.CurrentRegion
Input #1, myRecord.Fam, myRecord.Im, myRecord.Ot, myRecord.street, myRecord.no, myRecord.Flat, myRecord.Phone
putRecord ActiveCell.Cells(row), myRecord
Set data = ActiveCell.CurrentRegion
Write #1, myRecord.Fam, myRecord.Im, myRecord.Ot, myRecord.street, myRecord.no, myRecord.Flat, myRecord.Phone
Function getRecord(row As Range) As Record
myRecord.Fam = row.Cells(, 1).Value
myRecord.street = row.Cells(, 4).Value
myRecord.Flat = row.Cells(, 6).Value
myRecord.Phone = row.Cells(, 7).Value
Sub putRecord(row As Range, myRecord As Record)
row.Cells(, 1).Value = myRecord.Fam
row.Cells(, 4).Value = myRecord.street
row.Cells(, 6).Value = myRecord.Flat
row.Cells(, 7).Value = myRecord.Phone
Application.CommandBars("Phones").Enabled = True
Application.CommandBars("Phones").Visible = True
Application.CommandBars("Phones").Visible = False
Application.CommandBars("Phones").Enabled = False

Название: Компьютерная подготовка
Раздел: Рефераты по информатике, программированию
Тип: курсовая работа
Добавлен 21:21:30 12 марта 2005 Похожие работы
Просмотров: 808
Комментариев: 18
Оценило: 8 человек
Средний балл: 4.9
Оценка: 5   Скачать

Срочная помощь учащимся в написании различных работ. Бесплатные корректировки! Круглосуточная поддержка! Узнай стоимость твоей работы на сайте 64362.ru
Привет студентам) если возникают трудности с любой работой (от реферата и контрольных до диплома), можете обратиться на FAST-REFERAT.RU , я там обычно заказываю, все качественно и в срок) в любом случае попробуйте, за спрос денег не берут)
Да, но только в случае крайней необходимости.

Курсовая работа: Компьютерная подготовка
Реферат Мифы Египта
Сочинение Базаров И Наука
Образ Базарова Эссе
Структура, содержание и значение общей части Налогового кодекса России
Реферат: Теория организации взаимодействия государства и организаций. Скачать бесплатно и без регистрации
Теория Психоаналитической Психосоматики Реферат На Тему
Этика Публичного Выступления Реферат
Преддипломная Практика Образец Отчета
Практическая Работа 7 Класс География Африка
Реферат: Социальная защита трудящихся
Курсовая работа по теме Характеристика государственного управления в дореформенный период в России
Реферат: Экономика ФРГ. Скачать бесплатно и без регистрации
Практическое задание по теме Основные сведения по истории России
Ориентирование на местности
Заказ Курсовой Работы Новосибирск
Дипломная работа по теме Совершенствование мотивации персонала на предприятии
Курсовая работа: Основные научные направления об экономичской роли государства
Реферат: Затраты на производство на предприятии
Реферат: Природные ресурсы Республики Бурятия
Курсовая работа по теме Русская и американская киноверсии романа "Анна Каренина"
Реферат: Москва и Московская губерния в годы иностранной военной интервенции и гражданской войны
Реферат: Основные этапы формирования античной культуры
Реферат: Говард Хьюз

Report Page