- •Содержание предисловие
- •1. Требования к оформлению контрольной работы
- •2. Выбор варианта контрольной работы
- •2.1. Темы контрольной работы
- •2.2. Выбор варианта контрольной работы кр1
- •2.3. Выбор варианта контрольной работы кр11
- •2.4. Выбор варианта контрольной работы кр12
- •3. Если процедураvbaне запускается
- •4. Варианты заданий контрольной работы
- •4.1. Задания по теме «Системы счисления»
- •4.2. Задания по теме «Логические основы компьютера»
- •4.3. Задания по теме «Основные понятия экономической информатики»
- •4.4. Задания по теме «Решение задач по заданному алгоритму»
- •4.5. Задания по теме «Программные средства реализации информационных процессов»
- •4.6. Задания по теме «Циклические алгоритмы»
- •4.7. Задания по теме «Разработка форм вVba»
- •4.8. Задания по теме «Обработка одномерных массивов в vba»
- •5. Пример выполнения контрольной работы
- •5.1. Задание по теме «Системы счисления»
- •5.2. Задание по теме «Логические основы компьютера»
- •5.3. Задание по теме «Основные понятия экономической информатики»
- •5.4. Задание по теме «Решение задач по заданному алгоритму»
- •5.5. Задание по теме «Программные средства реализации информационных процессов»
- •5.Требования к аппаратному и программному обеспечению.
- •6. Производитель и условия распространения программного обеспечения.
- •5.6. Задание по теме «Циклические алгоритмы»
- •5.7. Задание по теме «Разработка форм в vba»
- •5.8. Задание по теме «Обработка одномерных массивов в vba»
- •6. Вопросы для подготовки к зачету/экзамену
- •7. Список рекомендуемой литературы
- •650992, Г. Кемерово, пр. Кузнецкий, 39
5.7. Задание по теме «Разработка форм в vba»
Создать форму «Времена года», на которой будут расположены:
картинка с изображение времен года (Image);
текстовое поле (TextBox);
командная кнопка (CommandButton);
поле со списком (ComboBox), содержащее наименования времен года.
Для элемента Image подготовить рисунки с изображением времен года. Элемент поле со списком заполняется значениями программно с помощью массива.
При выборе в поле со списком наименования сезона, происходит изменение рисунка в элементе Image и в текстовом поле TextBox выводится текст с описанием этого сезона.
При щелчке по командной кнопке форма перекрашивается в другой цвет, блокируется доступ к текстовому полю и выводится окно сообщения с текущей с фамилией автора контрольной работы.
Алгоритм реализации
Для выполнения задания потребуется 4 графических файла: лето.jpg, осень.jpg, весна.jpg, зима.jpg. Для удобства размещаем эти файлы в папке C:\Картинки (см. Рис. 12 )
Рис 12. Содержимое папки Картинки.
Открыть Excel и запустить редактор VBA (Alt+F11).
Добавить в проект новую пустую форму, выбрав в меню Insert (Вставка) команду UserForm (Форма).
В окне Properties (Свойства) ввести значения свойств формы в соответствии с таблицей 16:
Таблица 16
Значения свойств для формы
Свойство |
Значение |
Name |
Seasons |
Caption |
Времена года |
Перетащить с панели инструментов на форму элемент Image (изображение). Оставить его выделенным.
В окне Properties (Свойства) найти свойство PictureSizeMode и установить для него значение:
1-fmPictureSizeModeStretch.
В окне Properties (Свойства) найти строку со свойством Picture (Рисунок). Чтобы перейти к поиску нужного файла с картинкой, щелкнуть кнопку с многоточием справа в этой строке . В диалоговом окнеLoad Picture (Загрузка рисунка) выберите файл C:\Картинки\весна.jpg.
Перетащить на макет формы элемент управления TextBox (поле ввода). Установите для свойства MultiLine значение True
Перетащить с панели инструментов на форму элемент ComboBox (поле со списком). В окне Properties (Свойства) ввести значения свойств в соответствии с таблицей 17.
Таблица 17
Значения свойств для Поля со списком
Свойство |
Значение |
Значение свойства |
Name |
CmbSeason |
Имя поля со списком, на которое можно ссылаться в форме |
MatchRequired |
True |
True(в поле ввода раскрывающегося списка нельзя ввести значения, отличные от перечисленных в списке, т.е. в поле со списком отключается функция поля ввода) |
Перетащить на макет формы элемент CommandButton (командная кнопка). В окне Properties (Свойства) ввести значения свойств в соответствии с таблицей 18.
Таблица 18
Таблица свойств для кнопки.
Свойство |
Значение |
Name |
cmdClickMe |
Caption |
Перекрасить |
ControlTipText |
Командная кнопка |
Font |
Nimes New Roman, жирный, 10 пунктов |
После выполнения пунктов 3-10 форма будет выглядеть как на рис. 13.
Рис 13. Вид формы в режиме конструктора
Для выполнения задания потребуется три массива: Text – для хранения описаний времён года; Pictures – для хранения названий картинок; Season – для хранения наименований времен года.. Все массивы строкового типа.И их значения будут передаваться между процедурами проекта. Поэтому массивы надо описать как глобальные переменные. Описание глобальных переменных размещают в стандартном модуле.
Вставить в проект новый модуль с помощью команды меню Insert ⇨ Module. В этот модуль ввести строки для объявления глобальных переменных как на рис. 14.
Рис. 14. Модуль с описанием глобальных переменных
Массивы и поле со списком будут заполняться значениями при инициализации формы.Для организации заполнения значениями, выполнить следующие действия (см. п.п. 13-16)
Прейти в окно кода формы (двойной щелчок по свободному месту на форме) и выбрать вверху в левом раскрывающемся списке строку UserForm (см. Рис. 15)
Рис. 15. Список объектов проекта.
В правом раскрывающемся списке выбрать строку Initialize (см. Рис. 16).
Рис. 16. Список событий выбранного объекта
В окне кода формы появится пустая процедура (см. Рис. 17)
Рис. 17. Пустая процедура
Набрать текст процедуры (см. Рис. 18).
Рис/ 18. Код процедуры обработки события инициализации формы
Перейти в проекте к макету формы.
Дважды щелкнуть по элементу ListBox (Поле со списком) и перейти в окно кода. Набрать процедуру (см. Рис. 19)
Рис/ 19. Код процедуры обработки события
Выбрать в окне кода формы в списке объектов объект CommandButton1, в строке справа отобразиться событие Click, а в окне кода появиться пустая процедура (см. Рис. 20)
Рис. 20. Пустая процедура обработки события Click
Набрать текст процедуры (см. Рис. 21).
Рис. 21. Код процедуры обработки события Click.
Запустить форму командой Run⇨Run Sub/UserForm. На экране появится форма. Проверить работу формы, выбрав в списке любое значение, а потом нажав кнопку Перекрасить (см. Рис. 22, Рис. 23).
Рис 22. Вид готовой формы.
Рис. 23. Вид формы после щелчка по кнопке Перекрасить