Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб 1_15.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
706.02 Кб
Скачать

Создание пользовательской формы

Для создания пользовательской формы надо выполнить следующие действия:

1. Открыть новый файл или любой файл, в котором вы уже работали.

2. Выполнить команду меню Сервис | Макрос | Редактор Visual Basic. Откроется окно редактора Visual Basic.

3. Щелкнуть на кнопке Insert UserForm панели инструментов окна редактора Visual Basic или выполнить команду Insert | UserForm (Вставка | Экранная форма). Появится новая экранная форма.

Созданная экранная форма имеет по умолчанию строку с заголовком UserForm1. Сетка на макете формы помогает размещению элементов управления, при отображении формы в приложении сетка не видна (рис.5).

Рис.5. Создание формы

После создания формы необходимо просмотреть свойства этого объекта и изменить установки, если это требуется по условию задачи. Для отображения окна свойств надо выбрать команду View | Properties Window (Вид | Окно свойств) или щелкнуть по одноименной кнопке на панели инструментов .

Если у вас включен показ окна свойств Properties (он включается по клавише <F4>), то в этом окне будут представлены свойства формы. Переход к редактору кода для этой формы (по умолчанию открывается событие Click) выполняется по клавише <F7>, возврат обратно в окно дизайнера форм — по <Shift>+<F7>.

Для форм и элементов управления можно настраивать свойства при помощи графического интерфейса окна свойств — резко уменьшается количество программного кода, которое нужно писать вручную.

Некоторые самые важные свойства форм (кроме ShowModal все они применимы и для других элементов управления) приведены далее.

  1. Name — это свойство определяет имя формы. Имя формы используется только программистом в коде для этой формы (и в окнах редактора Visual Basic). После создания формы ее имя, предлагаемое по умолчанию (UserForm1), рекомендуется заменить на что-нибудь более значимое, чтобы было проще ориентироваться в программе (это относится ко всем элементам управления).

  2. Caption — определяет заголовок формы (по умолчанию совпадает с именем формы). Рекомендуется ввести строку, которая будет напоминать пользователю о назначении формыю.

  3. ShowModal — если свойство установлено в True (по умолчанию), то пользователь не может перейти к другим формам или вернуться в документ, пока не закроет эту форму (так называемый "модальный" режим работы).

Большая часть других свойств относится к внешнему виду, размерам и ме-стонахождению формы.

Самые важные методы форм перечислены в следующем списке.

В процессе редактирования формы (из окна редактора Visual Basic) ее можно запускать по нажатию клавиши <F5>. После того, как форма будет готова, вы должны обеспечить ее запуск в документе. Для запуска формы нужно воспользоваться методом Show():

UserForm1.Show

После того, как пользователь введет или выберет нужные данные на форме и нажмет требуемую кнопку, форму необходимо убрать. Для этого можно воспользоваться двумя способами:

• спрятать форму (использовать метод Hide()), например:

UserForm1.Hide

Форма будет убрана с экрана, но останется в памяти. Потом при помощи метода Show() можно будет опять ее вызвать в том же состоянии, в каком она была на момент "прятанья", а можно, например, пока она спрятана, программно изменять ее и расположенные на ней элементы управления. Окончательно форма удалится из памяти при закрытии документа;

• если форма больше точно не потребуется, можно ее удалить из памяти при помощи команды Unload:

Unload UserForm1

Остальные методы относятся либо к обмену данными через буфер обмена (Copy(), Cut(), Paste()), либо к служебным возможностям формы (PrintForm(), Repaint(), Scroll()

Важнейшая концепция VBA — события. Событие (event) — это то, что происходит с программой и может быть ею распознано. Например, к событиям относятся щелчки мышью, нажатия на клавиши, открытие и закрытие форм, перемещение формы по экрану и т. п. VBA построен таким образом, чтобы можно было создавать на нем программы, управляемые событиями (event-driven).

Самые важные события форм приведены далее.

  1. Initialize — происходит при подготовке формы к открытию (появлению перед пользователем). Обычно в обработчик для этого события помещается код, связанный с открытием соединений с базой данных, настройкой элементов управления на форме, присвоением значений по умолчанию и т. п.

  2. Click (выбирается по умолчанию) и DblClick — реакция на одиночный и двойной щелчок мыши соответственно. Для формы эти события используются не так часто. Обычно обработчики щелчков применяются для кнопок (элементов управления CommandButton).

  3. Terminate — используется при нормальном завершении работы формы и выгрузке ее из памяти (например, по команде Unload). Обычно применяется для разрыва открытых соединений с базой данных, освобождения ресурсов, протоколирования и т. п. Если работа формы завершается аварийно (например, запустившее форму приложение выдало команду End), то это событие не возникает.

Остальные события связаны либо с изменением размера окна формы, либо с нажатиями клавиш, либо с активизацией (получением фокуса) или деактивизацией (потерей фокуса).

Поскольку форма — это во многом просто контейнер для хранения других элементов управления, главное ее событие — Initialize. Все остальные события обычно используются не для формы, а для расположенных на ней элементов управления.

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

Порядок выполнения работы

  1. Прочитать теоретический материал.

  2. Выполнить практическую часть работы в соответствии с вариантом.

  3. Оформить отчет о выполнении лабораторной работы.

Отчет должен содержать:

  • Титульный лист, оформленный по образцу;

  • Постановку задачи;

  • Теоретические сведения;

  • Порядок выполнения работы (последовательность выполнения основных этапов работы);

  • Результат выполнения работы

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

Требования по форматированию отчета о выполнении лабораторной работы:

  • Параметры страницы: ориентация книжная, поля: левое – 2см, правое, верхнее, нижнее – по 1,5 см;

  • Шрифт Times New Roman, высота 14пт, интервал шрифта обычный; выравнивание по ширине, отступ слева на 0 см, отступ первой строки – 1см, межстрочный интервал одинарный;

  • Нумерация страниц в правом нижнем углу;

  • Содержащиеся в отчете рисунки должны иметь названия;

  1. К отчету прилагается электронный вариант выполненной работы, включающий в себя файл с отчетом (*.docx) и файл с созданным макросом (*.xlsm).

  2. Лабораторная работа сдается за компьютером.

Практическая часть

  1. Открыть Excel, переименовать «Лист 1» в лист со своей фамилией.

  2. Добавить на переименованный лист Excel три кнопки, по нажатию на одну из них на экране должна появляться форма, по нажатию на другую – эта форма скрывается, третья кнопка – для очистки содержимого выделенного диапазона (рис.6);

  3. Создать форму (в редакторе Visual Basic выбрать Insert/UserForm) согласно следующим требованиям:

Рис.6 Образец графического интерфейса разрабатываемого приложения

  1. Заголовок формы изменить на «Форма для заполнения таблицы»;

  2. Добавить на форму две кнопки.

По нажатию на одну из них («Enter») должно выполняться следующее:

  • в ячейки А1:С1 заносятся названия столбцов таблицы («Слово», «Часть речи» и «Перевод» соответственно), выполняется форматирование (изменение заливки, кегля, начертания, цвета шрифта) указанных ячеек;

  • построчно заполняется таблица вводимыми с помощью формы данными.

По нажатию на другую кнопку «Exit» – форма скрывается.

Границы таблицы должны быть расчерчены тонкой непрерывной линией черного цвета.

  1. Данные для заполнения вышеуказанных ячеек вводить, используя элементы управления: надпись, поле и комбинированный список;

  2. Добавить на форму надпись, по нажатию на которую будет выводиться текущее время;

  3. Разместить на форме произвольный рисунок.

11

Лучшева О.В.