- •1.Программирование в vba. Объекты Application, Workbook, Worksheet и Range
- •2.Редактор Visual Basic
- •2.1.Запуск программы
- •2.1.1.Панель инструментов Стандарт
- •2.2.Отладка программ
- •2.2.1.Ошибки при написании программ
- •2.2.1.1.Ошибки компиляции
- •2.2.1.2.Ошибки выполнения
- •2.2.2.Инструкция Option Explicit
- •2.2.3.Пошаговое выполнение программ
- •2.2.4.Точка останова (Toggle Breakpoint)
- •2.2.5.Отслеживание значений свойств и переменных
- •3.Объекты Application, Workbook, Worksheet и Range. Встроенные функции Dir, MkDir, MsgBox, InputBox
- •3.1.Программа СлучайныеЧисла
- •3.2.Программа УдалениеКниги
- •3.3.Программа СлучайныеЧислаОформление
- •4.Переменные
- •4.1.Объектные переменные
- •4.2.Пользовательский тип данных
- •5.Массивы
- •5.1.1.Функция Erase
- •5.1.2.Функции lBound и uBound
- •6.Подпрограммы. Функции. Область видимости переменных, подпрограмм и функций.
- •6.1.Вызов подпрограммы
- •6.2.Передача данных при вызове программы
- •6.2.1.Передача по ссылке и по значению
- •6.3.Функции
- •6.4.Область видимости переменных
- •6.4.1.Переменные уровня процедуры
- •6.4.2.Переменные уровня модуля
- •6.4.3.Переменные уровня проекта
- •6.4.4.Сохраняемые переменные
- •6.4.5.Область видимости подпрограмм и функций
- •6.4.6.Сохраняемые подпрограммы и функции
- •7.Управляющие структуры: If-Then-Else, Select Case, For-Next, While-Wend, Do-Loop, For-Each-Next
- •8.Инструкция With
- •9.Встроенные функции vba
- •9.1.Математические функции
- •9.2.Функции проверки типов
- •9.3.Функции преобразования форматов
- •9.4.Функции обработки строк
- •9.5.Функции времени и даты
- •10.Обработка ошибок: инструкция On Error
- •11.Пользовательский интерфейс
- •11.1.Создание формы (UserForm) и добавление кнопок (СоmmandButton)
- •11.2.Вывод формы на экран (запуск формы)
- •11.3.Поле (TextBox) и надпись (Label).
- •11.4.Список (ListBox) и поле со списком (ComboBox)
- •11.4.1.Список (ListBox)
- •11.4.2.Определение выбранных элементов списка
- •11.4.3.Поле со списком (ComboBox)
- •11.4.4.Определение выбранного элемента
- •11.4.5.Создание взаимосвязанных элементов управления
- •11.5.Флажок (CheckBox)
- •11.6.Выключатель (ToggleButton)
- •11.7.Переключатель (OptionButton)
- •11.8.Счетчик (SpinButton)
- •11.9.Создание нестандартных меню и панелей инструментов.
- •11.9.1.Пример создания/удаления панели инструментов
- •11.9.2.Пример создания/удаления меню
- •12.События объектов Workbook и Worksheet
- •12.1.События объекта Workbook
- •12.2.События объекта Worksheet
- •Домашнее задание №1
- •Домашнее задание №2 и №3. Типовые варианты.
- •Вариант 1. Домашнее задание №2
- •Списочный состав института
- •Домашнее задание №3
- •Вариант 2. Домашнее задание №2
- •Списочный состав института
- •Домашнее задание №3
- •Вариант 3. Домашнее задание №2
- •Домашнее задание №3
- •Вариант 4. Домашнее задание №2
- •Домашнее задание №3
- •Вариант 5. Домашнее задание №2
- •Домашнее задание №3
Домашнее задание №3
Модифицировать программу Программа Дисциплины.xls следующим образом:
При открытии файла с программой в стандартном меню Excel должно появляться меню Учебный процесс с командами:
Дисциплины, читаемые в семестре, которая предназначена для вызова формы, реализованной в лаб. работе № 2.
Автор. При щелчке по команде Автор на экране должна появляться форма с данными о разработчике программы.
При закрытии файла с программой привнесенный пользовательский интерфейс должен удаляться.
Вариант 4. Домашнее задание №2
Написать программу, которая формирует список дисциплин, читаемых в осеннем или весеннем семестре.
Постановка задачи:
В базе данных Excel Кафедра-9999.xls содержатся данные о кафедральной нагрузке. 9999 – формат года (например, для 2012 года имя БД: Кафедра–2012.xls). БД хранится в папке C:\Институт и имеет следующую структуру:
Таблица 1. Фрагмент БД Кафедра:
Семестр |
Дисциплина |
Группа |
Студентов |
Вид нагрузки |
Часы |
Преподаватель |
1 |
Офисные програм. пакеты |
И8-12-1 |
25 |
Лабораторные |
102,0 |
Муратова С.Ю. |
1 |
Офисные програм. пакеты |
И8-12-1 |
25 |
Контрольн. и д.з. |
17,5 |
Муратова С.Ю. |
1 |
Офисные програм. пакеты |
И8-12-1 |
25 |
Зачеты |
7,5 |
Муратова С.Ю. |
1 |
Офисные програм. пакеты |
И8-12-3 |
24 |
Лабораторные |
102,0 |
Муратова С.Ю. |
1 |
Офисные програм. пакеты |
И8-12-3 |
24 |
Контрольн. и д.з. |
16,8 |
Муратова С.Ю. |
1 |
Офисные програм. пакеты |
И8-12-3 |
24 |
Зачеты |
7,2 |
Муратова С.Ю. |
1 |
Информатика |
|
|
Лекции |
34,0 |
Смирнов А.П. |
1 |
Информатика |
И8-12-1 |
25 |
Лабораторные |
68,0 |
Смирнов А.П. |
1 |
Информатика |
И8-12-1 |
25 |
Контрольн. и д.з. |
17,5 |
Смирнов А.П. |
1 |
Информатика |
И8-12-1 |
25 |
Экзамены |
12,5 |
Смирнов А.П. |
1 |
Информатика |
И8-12-1 |
25 |
Консульт. экз. |
2,0 |
Смирнов А.П. |
1 |
Информатика |
И8-12-3 |
24 |
Лабораторные |
68,0 |
Смирнов А.П. |
1 |
Информатика |
И8-12-3 |
24 |
Контрольн. и д.з. |
16,8 |
Смирнов А.П. |
1 |
Информатика |
И8-12-3 |
24 |
Экзамены |
12,0 |
Смирнов А.П. |
1 |
Информатика |
И8-12-3 |
24 |
Консульт. экз. |
2,0 |
Смирнов А.П. |
1 |
Информатика |
И8-12-4 |
25 |
Лабораторные |
68,0 |
Смирнов А.П. |
1 |
Информатика |
И8-12-4 |
25 |
Контрольн. и д.з. |
17,5 |
Смирнов А.П. |
1 |
Информатика |
И8-12-4 |
25 |
Экзамены |
12,5 |
Смирнов А.П. |
1 |
Информатика |
И8-12-4 |
25 |
Консульт. экз. |
2,0 |
Смирнов А.П. |
… |
… |
… |
… |
… |
… |
… |
Требуется (с помощью средств VBA) разработать программное обеспечение, позволяющее получать список дисциплин, читаемых в определенные семестры, следующего вида:
Название семестра Учебный год:…
Список читаемых дисциплин
Дисциплина |
Преподаватель |
Группа |
Вид нагрузки (часы) |
Примечание |
||
Лекции |
Практич. |
Лаб. |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В список выводятся записи только с аудиторной нагрузкой, т.е. если в поле Вид нагрузки (в БД) содержатся следующие значения: Лекции; Лабораторные; Практич., семин.
Количество отформатированных строк в итоговой таблице, не считая заголовка и шапку, должно совпадать с количеством сформированных записей.
Сохранить его в файле Осень или Весна-9999.xls на листе Нагрузка (например, для осеннего семестра 2012 года название конечного файла Осень-2012.xls). Книга должна иметь один лист.
Файл поместить в папку C:\Институт.
Запрос на формирование списка дисциплин, читаемых в осеннем или весеннем семестре, реализовать с помощью формы, которая имеет следующий вид:
В списке Учебный год пользователь выбирает нужный ему год. На основе выбранного года формируется имя открываемой БД.
По умолчанию в поле Учебный год установить пусто. Список поля Учебный год должен содержать 4 элемента: пусто, номер предыдущего года, текущего и следующего.
С помощью командной кнопки Осень сформировать список дисциплин, читаемых осенью, кнопкой Весна – список дисциплин, читаемых весной.
Кнопку Осень связать с клавишей [Enter], кнопку Отмена – с клавишей [Escape].
Программа должна находиться в файле Программа Дисциплины.xls.
Предусмотреть обработку событий, связанных с различными состояниями исходного и конечного файлов: закрыты, открыты, не существуют. При наличии конечного файла выдать запрос на его замену.
Оформить программу согласно требованиям, изложенным на лекциях.
Для отладки программы прилагается файл Кафедра-2012.xls.
Придумать свой вариант задания.
