Организация документооборота с помощью "Visual Basic for Application"
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
µдную свободную строку на этом листе.
При этом информацию по заявке условно можно разделить на две категории:
- начальная информация о занятиях (номер, заявитель, преподаватель, день, время, группа, количество студентов в группе, название дисциплины и номера учебных недель, когда занятия должны проводиться);
- информация об обслуживании данной заявки (обслужена ли она и номер аудитории, выбранной для проведения занятий по заявке).
Алгоритм подбора аудитории составляет важную содержательную часть выполненной разработки. Здесь учитывается много факторов - наличие групповых (для нескольких групп или потоков) лекций, наличие последовательных во времени занятий в группе (в этом случае подбирается одна аудитория - для исключения переходов из одной комнаты в другую) и ряд других факторов. Так, в каждой строке столбцы G и Н отводятся для записи информации об обслуживании заявки (подобранной для нее аудитории). И если аудитория подобрана, то в столбец G программно записывается слово "да", а в следующий столбец вписывается номер аудитории.
Фактически, информация на первом листе представляет собой некоторую базу данных. Столбец Номер позволяет ввести для каждой заявки поясняющий числовой или текстовый номер. При этом для определенного блока заявок, если потребуется, можно указать один и тот же номер. Номер заявки определяет не ее уникальность, а принадлежность заявки к определенной группе или блоку. Уникальность записи о заявке это фактически уникальность каждой строки Microsoft Excel.
Следующие столбцы содержат информацию о заявителе, преподавателе, дне и времени проведения занятий. Эта информация не требует ручного заполнения, а извлекается из предварительно заполненного второго листа, как описано ранее. Непосредственно ввод данных будет выполняться с помощью специально разработанной формы ввода. Например, при вводе фамилии преподавателя мы будем выбирать ее из списка, предварительно заполненного на втором листе.
В столбце F для каждой заявки указывается количество студентов, которые учатся в данной группе. Эта информация вносится автоматически после выбора названия группы (вы уже видели, что на втором листе присутствуют два связанных столбца название группы и число студентов в ней). В столбцах, начиная с К, отмечаются недели, когда должны проводиться занятия по данной заявке. Звездочка в соответствующем столбце говорит о том, что на этой неделе занятие.
Нумерация учебных недель является типичной для учебных заведений. Это связано с тем, что количество аудиторных часов для разных дисциплин по учебному плану неодинаково. В связи с этим какие-то дисциплины в семестре ограничены семью занятиями, а какие-то продолжаются в течение семнадцати недель. Что касается нулевой недели, то ее введение относится к ситуации, когда день начала семестра расположен в середине недели (подобную неделю иногда называют нулевой).
Рассмотрим элементы управления. Это три кнопки, которые на листе расположены в области первых двух строк. В табл. 7 приведены значения их свойств Name и Caption.
Таблица 7. Значения свойств кнопок
NameCaptionInput_NewВвод новой заявкиInput_auditoriaПодбор аудиторииDe_leteСнятие с обслуживанияПринято, что заполнение информации о заявке и тем более подбор для нее подходящей аудитории требуют некоторой интеллектуальности алгоритма.
Так, программа должна обнаруживать возможный ввод некорректных заявок. Например, при вводе очередной заявки преподаватель может быть в указанное время уже занят. Другая возможная ситуация для указанной в заявке группы уже зафиксировано другое занятие в это время. Все эти и другие подобные ситуации создаваемая разработка должна отслеживать. При этом автоматическая блокировка подобных накладок не требуется, т. к. возможно они закладываются в расписание не случайно.
Для исключения ручного изменения информации на первом листе в книге предусматривается установка защиты этого листа от изменений. А такие технические действия, как формирование новых заявок и подбор аудитории для них, выполняются с помощью экранных форм. При этом программные процедуры этих форм самостоятельно снимают защиту с листа. В следующем разделе мы рассмотрим одну из экранных форм.
Сводный отчет по загрузке
В этом разделе мы рассмотрим еще одну возможность работы с расписанием. Рассмотрим лист с названием Отчет 2. Фактически это отчет, который позволяет показать загруженность фонда аудиторий по заявителям (кто использует фонд аудиторий больше, а кто меньше).
Если фонд аудиторий ограничен и между разными факультетами возникают противоречия по поводу его загрузки, представляет интерес такой сводный отчет, в котором наглядно отражены занятия по различным факультетам. Эта ситуация вполне типична для сегодняшнего дня, когда в вузах, наряду с бюджетным обучением, есть и коммерческое. Многие возникающие вопросы по фонду аудиторий могут быть успешно решены с помощью предлагаемого в этом разделе отчета.
На листе по горизонтали в пятой и шестой строках выводятся дни и время начала занятий (фактически в этих строках перечислены все занятия в течение недели). В первом столбце указаны все аудитории, которыми располагает учебное заведение. И если в определенный день и конкретное время в аудитории по расписанию поставлено занятие, то в соответствующей ячейке это отмечается определенной заливкой (для каждого факультета свой цвет заливки) и отображается