Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ к контр заоч по Эконом_инф.docx
Скачиваний:
15
Добавлен:
16.03.2015
Размер:
1.66 Mб
Скачать

5.7. Задание по теме «Разработка форм в vba»

Создать форму «Времена года», на которой будут расположены:

  • картинка с изображение времен года (Image);

  • текстовое поле (TextBox);

  • командная кнопка (CommandButton);

  • поле со списком (ComboBox), содержащее наименования времен года.

Для элемента Image подготовить рисунки с изображением времен года. Элемент поле со списком заполняется значениями программно с помощью массива.

При выборе в поле со списком наименования сезона, происходит изменение рисунка в элементе Image и в текстовом поле TextBox выводится текст с описанием этого сезона.

При щелчке по командной кнопке форма перекрашивается в другой цвет, блокируется доступ к текстовому полю и выводится окно сообщения с текущей с фамилией автора контрольной работы.

Алгоритм реализации

  1. Для выполнения задания потребуется 4 графических файла: лето.jpg, осень.jpg, весна.jpg, зима.jpg. Для удобства размещаем эти файлы в папке C:\Картинки (см. Рис. 12 )

Рис 12. Содержимое папки Картинки.

  1. Открыть Excel и запустить редактор VBA (Alt+F11).

  2. Добавить в проект новую пустую форму, выбрав в меню Insert (Вставка) команду UserForm (Форма).

  3. В окне Properties (Свойства) ввести значения свойств формы в соответствии с таблицей 16:

Таблица 16

Значения свойств для формы

Свойство

Значение

Name

Seasons

Caption

Времена года

  1. Перетащить с панели инструментов на форму элемент Image (изображение). Оставить его выделенным.

  2. В окне Properties (Свойства) найти свойство PictureSizeMode и установить для него значение:

1-fmPictureSizeModeStretch.

  1. В окне Properties (Свойства) найти строку со свойством Picture (Рисунок). Чтобы перейти к поиску нужного файла с картинкой, щелкнуть кнопку с многоточием справа в этой строке . В диалоговом окнеLoad Picture (Загрузка рисунка) выберите файл C:\Картинки\весна.jpg.

  2. Перетащить на макет формы элемент управления TextBox (поле ввода). Установите для свойства MultiLine значение True

  3. Перетащить с панели инструментов на форму элемент ComboBox (поле со списком). В окне Properties (Свойства) ввести значения свойств в соответствии с таблицей 17.

Таблица 17

Значения свойств для Поля со списком

Свойство

Значение

Значение свойства

Name

CmbSeason

Имя поля со списком, на которое можно ссылаться в форме

MatchRequired

True

True(в поле ввода раскрывающегося списка нельзя ввести значения, отличные от перечисленных в списке, т.е. в поле со списком отключается функция поля ввода)

  1. Перетащить на макет формы элемент CommandButton (командная кнопка). В окне Properties (Свойства) ввести значения свойств в соответствии с таблицей 18.

Таблица 18

Таблица свойств для кнопки.

Свойство

Значение

Name

cmdClickMe

Caption

Перекрасить

ControlTipText

Командная кнопка

Font

Nimes New Roman, жирный, 10 пунктов


  1. После выполнения пунктов 3-10 форма будет выглядеть как на рис. 13.

Рис 13. Вид формы в режиме конструктора

Для выполнения задания потребуется три массива: Text – для хранения описаний времён года; Pictures – для хранения названий картинок; Season – для хранения наименований времен года.. Все массивы строкового типа.И их значения будут передаваться между процедурами проекта. Поэтому массивы надо описать как глобальные переменные. Описание глобальных переменных размещают в стандартном модуле.

  1. Вставить в проект новый модуль с помощью команды меню Insert Module. В этот модуль ввести строки для объявления глобальных переменных как на рис. 14.

Рис. 14. Модуль с описанием глобальных переменных

Массивы и поле со списком будут заполняться значениями при инициализации формы.Для организации заполнения значениями, выполнить следующие действия (см. п.п. 13-16)

  1. Прейти в окно кода формы (двойной щелчок по свободному месту на форме) и выбрать вверху в левом раскрывающемся списке строку UserForm (см. Рис. 15)

Рис. 15. Список объектов проекта.

  1. В правом раскрывающемся списке выбрать строку Initialize (см. Рис. 16).

Рис. 16. Список событий выбранного объекта

  1. В окне кода формы появится пустая процедура (см. Рис. 17)

Рис. 17. Пустая процедура

  1. Набрать текст процедуры (см. Рис. 18).

Рис/ 18. Код процедуры обработки события инициализации формы

  1. Перейти в проекте к макету формы.

  2. Дважды щелкнуть по элементу ListBox (Поле со списком) и перейти в окно кода. Набрать процедуру (см. Рис. 19)

Рис/ 19. Код процедуры обработки события

  1. Выбрать в окне кода формы в списке объектов объект CommandButton1, в строке справа отобразиться событие Click, а в окне кода появиться пустая процедура (см. Рис. 20)

Рис. 20. Пустая процедура обработки события Click

  1. Набрать текст процедуры (см. Рис. 21).

Рис. 21. Код процедуры обработки события Click.

  1. Запустить форму командой RunRun Sub/UserForm. На экране появится форма. Проверить работу формы, выбрав в списке любое значение, а потом нажав кнопку Перекрасить (см. Рис. 22, Рис. 23).

Рис 22. Вид готовой формы.

Рис. 23. Вид формы после щелчка по кнопке Перекрасить