- •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.
При закрытии файла с программой привнесенный пользовательский интерфейс должен удаляться.
Вариант 5. Домашнее задание №2
Написать программу, которая формирует список сеансов на фильмы определенного жанра на необходимое число.
Постановка задачи:
В базе данных Excel Афиша.xls содержатся данные о кинопоказах. БД хранятся в папке C:\Синема и содержат следующую информацию:
Название фильма
Жанр
Продолжительность (мин.)
Кинотеатры
Дата
время сеанса
цена
V значит Вендетта
трилллер
200
Ноябрь
12.04.13
10.00
70
V значит Вендетта
трилллер
160
Алмаз
11.04.13
09.00
60
V значит Вендетта
трилллер
180
Синема-парк
11.05.13
11.30
70
Босиком по мостовой
мелодрамма
120
Октябрь
11.04.13
10.00
70
Звонок
ужасы
120
Перекрксток
12.04.13
11.30
70
Звонок
ужасы
120
Витязь
12.04.13
15.00
100
Звонок
ужасы
100
Звездный
12.04.13
14.30
100
Иван Васильевич меняет профессию
комедия
160
Калужский
12.04.13
15.00
100
Иван Васильевич меняет профессию
комедия
180
Витязь
12.04.13
16.10
130
Иван Васильевич меняет профессию
комедия
200
Перекрксток
11.04.13
16.00
113
Иллюзия полета.avi
мелодрамма
90
Аврора
11.04.13
16.30
113
Миссия невыполнима 3
боевик
120
Калужский
12.04.13
17.40
130
Миссия невыполнима 3
боевик
100
Алмаз
12.04.13
18.00
150
Миссия невыполнима 3
боевик
180
МДМ
11.04.13
17.30
120
Миссия невыполнима 3
боевик
160
Аврора
11.05.13
17.10
120
Нокаут (По прозвищу Золушка)
мультфильм
90
Перекресток
11.05.13
19.00
150
Форест Гамп
детектив
160
Синема-парк
12.04.13
20.00
200
Форест Гамп
детектив
180
Аврора
12.04.13
21.20
200
Форест Гамп
детектив
200
Витязь
11.05.13
20.40
200
Эйс Вентура - поиск пропавших животных
комедия
90
МДМ
12.04.13
23.05
200
Эйс Вентура - поиск пропавших животных
комедия
120
Звездный
11.04.13
23.30
200
Эйс Вентура - поиск пропавших животных
комедия
100
Калужский
11.05.13
22.10
200
ЭонФлакс
фантастика
90
Звездный
12.04.13
22.35
11
ЭонФлакс
фантастика
100
МДМ
11.04.13
00.00
270
ЭонФлакс
фантастика
120
Аврора
11.05.13
23.00
250
Яма
трилллер
120
Витязь
12.04.13
21.15
200
Яма
трилллер
200
Звездный
12.04.13
20.50
200
Яма
трилллер
120
МДМ
11.04.13
21.09
200
Требуется (с помощью средств VBA) разработать программное обеспечение, позволяющее получать список сеансов следующего вида:
Список предлагаемых сеансов на {дата}. Жанр: {жанр}
№ п.п. |
Название фильма |
Время сеанса |
Кинотеатр |
Цена билета |
|
|
|
|
|
|
|
|
|
|
Сохранить его в файле Жанр.xls (где Жанр – название жанра,) на листе Сеансы. Книга должна иметь один лист.
Файл поместить в папку C:\Синема.
Запрос на создание списка сеансов реализовать с помощью формы, которая имеет следующий вид:
В списке Выберите дату: пользователь указывает дату.
Список поля Выберите дату: должен содержать 7 дат, начиная с текущей. По умолчанию – текущая дата.
В списке Укажите жанр фильма: пользователь выбирает название жанра. Список жанров формируется из названий жанров, встречающихся во втором столбце БД. Список жанров должен быть отсортирован по алфавиту.
В случае отсутствия фильмов запрашиваемого жанра на конкретную дату конечный файл не формировать, а выдать информационное сообщение следующего вида: «Фильмы жанра {жанр} на {дата} не найдены!»
Кнопку ОК связать с клавишей [Enter], кнопку Отмена – с клавишей [Escape].
Программа должна находиться в файле Программа-Фильмы-Дата.xls.
Предусмотреть обработку событий, связанных с различными состояниями исходных БД и конечного файла: закрыты, открыты, не существуют. При наличии конечного файла выдать запрос на его замену.
Оформить программу согласно требованиям, изложенным на лекциях.
Придумать свой вариант задания.
