м семнадца-ти тижнів. Що стосується нульової тижня, то її введення ставиться до ситуації, коли день початку семестру розташований в середині тижня (подібну тиждень іноді називають нульовий).
Розглянемо елементи управління. Це три кнопки, які на аркуші розташовані в області перших двох рядків. У табл. 7 наведені значення їх властивостей Name і Caption. <В
Таблиця 7. Значення властивостей кнопок
Name
Caption
Input_New
Введення нової заявки
Input_auditoria
Підбір аудиторії
De_lete
Зняття з обслуговування
Прийнято, що заповнення інформації про заявку і тим більше підбір для неї підходящою аудиторії вимагають деякої інтелектуальності алгоритму.
Так, програма повинна виявляти можливе введення некоректних заявок. Наприклад, при введенні черговий заявки викладач може бути у вказаний вже зайнятий. Інша можлива ситуація - для вказаної в заявці групи вже зафіксовано інше заняття в цей час. Всі ці та інші подібні ситуації створювана розробка повинна відстежувати. При цьому автоматичне блокування подібних накладок не потрібно, тому що можливо вони закладаються в штатного розпису не випадково.
Для виключення ручної зміни інформації на першому аркуші у книзі передбачається установка захисту цього листа від змін. А такі технічні дії, як формування нових заявок і підбір аудиторії для них, виконуються за допомогою екранних форм. При цьому програмні процедури цих форм самостійно знімають захист з аркуша. У наступному розділі ми розглянемо одну з екранних форм.
В
Зведений звіт по завантаженню
У цьому розділі ми розглянемо ще одну можливість роботи з розкладом. Розглянемо лист з назвою Звіт 2. Фактично це звіт, який дозволяє показати завантаженість фонду аудиторій по заявникам (хто використовує фонд аудиторій більше, а хто менше).
Якщо фонд аудиторій обмежений і між різними факультетами виникають протиріччя з приводу його завантаження, становить інтерес такий зведений звіт, в якому наочно відображені заняття з різних факультетах. Ця ситуація цілком типова для сьогоднішнього дня, коли у вишах, поряд з бюджетним навчанням, є і комерційне. Багато виникаючі питання по фонду аудиторій можуть бути успішно вирішені за допомогою пропонованого в цьому розділі звіту.
На аркуші по горизонталі в п'ятій і шостий рядках виводяться дні та час початку занять (фактично в цих рядках перераховані всі заняття протягом тижня). У першому стовпці вказані всі аудиторії, якими володіє навчальний заклад. І якщо в певний день і конкретний час в аудиторії за розкладом поставлено заняття, то у відповідній клітинці це зазначається певної заливкою (Для кожного факультету свій колір заливки) і відображається кількість студентів ..
Розглянемо програмний код, що реалізовує побудова даного звіту, і в якості першого кроку прокоментуємо елементи управління.
У лівому верхньому кутку знаходиться полі з списком (Name = L1). Цей елемент при відкритті книги автоматично заповнюється інформацією про навчальні тижнях (Процедура workBook_open). Праворуч від поля зі списком розташовується кнопка Заповнити (Name = coml), що дозволяє заповнити лист інформацією. В результаті клацання по цій кнопці осередку листа заповнюються інформацією (кількість займаються студентів і заявник).
На цьому листі ми легко можемо подивитися інформацію про місткості конкретної аудиторії. Для цього потрібно лише клацнути по комірці, яка містить номер аудиторії. p> Тепер прокоментуємо деякі програмні конструкції, виконувані по клацанню на кнопці Заповнити . Повний текст процедури обробки клацання по цій кнопці приведений у додатку 1 . На початку процедури в масиві colors встановлюються кольори для заливки осередків з заявками різних факультетів, що забезпечує наочність представлення інформації.
Після установки заливки комірок (певний колір пов'язаний з конкретним заявником) спочатку виконується очищення області для висновку:
Range ("a5: ZZ200"). Select Selection.ClearContents
Також встановлюється білий колір заливки для області, де буде присутній інформація про заняття:
Range ("b7: ZZ200"). Select
With Selection.Interior
. ColorIndex = 0
. Pattern = xlSolid
End With
Після цього підраховується кількість заявників на другому аркуші:
N_Boss = О
While Worksheets (2). Cells (N_Boss + 2, 6). Value <> ""
N_Boss = N_Boss + 1
Wend
В якості наступного дії на лист виводят...