Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

8995

.pdf
Скачиваний:
2
Добавлен:
25.11.2023
Размер:
2.12 Mб
Скачать

UserForm1 в которой можно изменить: заголовок формы, цвет фона, шрифт,

размер и др. (рисунок 12).

Рисунок 12. Окно свойств формы

На панели Toolbox отображаются элементы управления, которые можно разместить на форме. Это могут быть: TextBox поле для ввода текста, Label

надпись, CommandButton кнопка, ListBox список, ComboBox поле со списком, ScrollBar полоса прокрутки и др. (рисунок 12, 13).

Рисунок 13. Панель элементов управления Разместим на форме кнопку (рисунок 14). Для этого нужно выбрать

элемент управления CommandButton1, растянуть до нужных размеров кнопку на форме. При активной кнопке панель свойств объекта Properties CommandButton1 делает доступными свойства этого объекта – кнопка.

Например, сделать надпись на кнопке Печать. Для этого на панели Properties CommandButton1 справа от Caption ввести нужный текст (например, Печать)

Рисунок 14. Добавление кнопки на форму

81

Чтобы привязать к этой кнопке программный код нужно выполнить двойной щелчок мыши на кнопке. При этом откроется окно редактора VBA, где написаны начало и конец процедуры обработки события (нажатие на кнопку).

Private Sub CommandButton1_Click()

…….

End Sub

В тело процедуры вводятся команды (операторы), которые начнут выполняться после щелчка мыши на созданной кнопке (об этом указывает событие Click). Щелчок мыши (Click ) это стандартное событие для кнопок,

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

стандартным считается событие Change (их изменение).

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

Рисунок 15. Список возможных событий объекта

Пример создания пользовательской формы и написание процедур к

ней

Написать программу на VBA с использованием пользовательских форм и процедур к ним. Организовать в программе вычисление логарифма заданного числа по заданному основанию логарифма. Ввод исходных данных и вывод полученного результата производить через форму. Предусмотреть организацию

82

на форме кнопок для повторения и завершения работы программы, а также кнопки запуска программы с листа Excel.

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

Назвать пользовательскую форму: «Вычисление логарифма». На панели инструментов Properties меняем свойство Caption на текст Вычисление логарифма.

Создать на форме три надписи. Для этого на панели элементов управления выбрать пиктограмму Label и обрисовать области надписей на пользовательской форме.

На панели свойств объекта Properties меняем свойство Caption для этих надписей на: «Основание логарифма», «Число», «».

Создать три кнопки с помощью элемента управления CommandButton

. Назовем эти кнопки, меняя свойство Caption на: «Очистить всё» (кнопка

CommandButton3), «Вычислить» (CommandButton1), «Выход»

(CommandButton2). Аналогично создаем два элемента управления TextBox на пользовательской форме . На рисунке 16 показана полученная итоговая форма.

Рисунок 16. ‒ Пользовательская форма Создать процедуру и привязать к созданной пользовательской форме.

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

Далее необходимо ввести программный код, который будет выполняться,

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

Программа с процедурами для созданной пользовательской формы

83

Private Sub CommandButton1_Click()

‘Вычисление логарифма

Dim n, x, c As Double

 

n = TextBox1.Value

 

x = TextBox2.Value

 

n = CDbl(n)

 

x = CDbl(x)

 

c = log(x) / log(n)

 

Label3.Caption = "Ответ " & c

 

End Sub

 

Private Sub CommandButton2_Click()

‘Выход из формы

Unload Me

 

End Sub

 

Private Sub CommandButton3_Click()

‘Очистка полей ввода

Label3.Caption = ""

 

TextBox1 = ""

 

TextBox2 = ""

 

End Sub

 

Примеры работы программы показаны на рисунке 17.

Рисунок 17. ‒ Результат работы программного кода

Запуск пользовательской формы

Для запуска созданной пользовательской формы можно использовать оператор Show. Пример запуска Формы:

Sub show_userform()

my_userform.Show

84

End Sub

Задание

Создать экранную форму «Ведомость лабораторных работ» для заполнения журнала учёта лабораторных работ (Рисунок 18).

Рисунок 18. экранная форма «Ведомость лабораторных работ»

Алгоритм решения задачи

1.Создать экранную форму

1.1.Создать новую рабочую книгу в Excel и перейти в редактор Visual Basic (Разработчик – Visual Basic).

1.2.Создать пользовательскую форму (Insert UserForm).

Переименовать форму. Для этого на панели Properties меняем свойство

Caption ‒ ввести «Ведомость лабораторных работ» (форма должна быть активной). Выбрать свойство Name, вместо UseiForm1 ввести «Ведомость».

Это имя, по которому к форме будет обращаться программа.

1.3.Добавить элементы управления в экранную форму как показано на рисунке 18. Вставить в левый верхний угол формы три надписи (Label). Задать свойству Caption значения для соответствующих надписей: «Дата занятия», «Фамилия И.О. студента» «Факультет».

1.4.Чуть правее этих трех надписей создать текстовые поля для последующего ввода информации в них (Рисунок 18). Не менять свойства для этих элементов.

1.5.По образцу (рисунка 18) аналогично создавать элементы управления и описывать значения их свойств согласно таблице 6. При этом

необходимо учитывать замечания представленные ниже.

85

 

 

 

Таблица 6

 

Свойства элементов управления

 

 

 

 

 

 

Тип элемента

Значение

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

Другие

 

 

свойства

 

управления

Caption

свойства

 

 

Name

 

 

 

 

 

 

Надпись

Label1

Дата занятий

-

 

 

 

 

 

 

 

 

Поле

TextBoxl

-

-

 

 

 

 

 

 

 

 

Надпись

Label2

Фамилия И.О. студента

_

 

 

Поле

TextBox2

-

-

 

 

 

 

 

 

 

 

Надпись

Label3

Факультет

-

 

 

Поле

TextBox3

-

-

 

 

Рамка

Frame1

Форма обучения

-

 

 

 

 

 

 

 

Переключатель

OptionButtonl

Очная

Value=True

 

 

 

 

 

 

 

Переключатель

OptionButton2

Вечерняя

-

 

 

 

 

 

 

 

 

Переключатель

OptionButton3

Заочная

_

 

 

Рамка

Frame2

Данные по лаб. работе

-

 

 

 

 

 

 

 

 

Надпись

Label4

Тема занятия

-

 

 

 

 

 

 

 

 

Поле со списком

ComboBoxl

-

-

 

 

 

 

 

 

 

 

Флажок

CheckBoxl

Исх. данные взять с

Value=False

 

 

носителя

 

 

 

 

 

 

 

 

 

 

 

Надпись

Label5

Имя файла на носителе

Enabled=False

 

 

 

 

 

 

 

 

Поле со списком

ComboBox2

-

-

 

 

 

 

 

 

 

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

ComandButtonl

Сохранить

Default=True

 

 

 

 

 

 

 

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

ComandButton2

Отмена

Cancel=True

 

 

 

 

 

 

 

 

Замечание 1. Вставить в форму дважды элемент Рамка (Frame). Сначала нужно этот элемент разместить на форме, а затем в нём поместить другие элементы управления.

Замечание 2. При создании элементов управления необходимо придерживаться того порядка, который указан в таблице 6. Иначе VBA

присвоит им имена с другой нумерацией, а при запуске формы они будут работать неправильно.

Замечание 3.

Для элементов Надпись. Переключатель, Рамка и Флажок задать свойство Caption. Для ряда элементов управления необходимо также задать дополнительные свойства.

Свойства командных кнопок

86

Кнопка «Сохранить». Чтобы командная кнопка выполняла функцию сохранения, необходимо задать ей значение свойства Default (По умолчанию),

равное True (Истина). При этом в экранной форме только одна командная кнопка может иметь значение True свойства Default.

Кнопка «Отмена». Щелчок по этой кнопке должен вызывать отмену введённых команд. Для этого необходимо задать для неё свойству Cancel

значение True. При этом так же как и в случае свойства Default только одна командная кнопка в экранной форме может иметь значение True свойства

Cancel.

Свойства переключателей

Для переключателей в группе «Форма обучения» нужно указать, какой из них будет выбран по умолчанию (будет находиться во включённом состоянии до выбора, выполненного пользователем).

Для этого нужно задать значение True свойства Value. Установим его для первого переключателя Очная. Отметим, что в группе только один переключатель может иметь значение True свойства Value.

Блокировка элементов управления

В форме элемент управления «Имя файла на носителе» необходим только, когда установлен флажок «Исходные данные взять с носителя».

Чтобы поле со списком «Имя файла на носителе» было недоступно пользователю, а также отображалось серым цветом (это говорит о недоступности элемента), его свойство Enabled (Разблокировка) нужно установить равным False (Ложь). Когда флажок «Исходные данные взять с носителя» будет установлен, свойство Enabled следует поменять на True. Это будет осуществляться программным путём.

Свойства флажка

Чтобы в исходном состоянии флажок не был установлен, следует задать равным False значение его свойства Value.

Сохранить созданную форму с именем «Ведомость».

Практические задания

87

Написать программу на VBA с использованием пользовательских форм и процедур к ним в соответствии с вариантом. На форме использовать кнопки для повторения, завершения работы программы и кнопку запуска программы с листа Excel.

Варианты заданий

1.Написать программу на VBA, которая определяет количество дней оставшихся до дня рождения некоторого человека. Использовать на форме ввод имени этого человека, даты его рождения и вывод результата с приветствием пользователя.

2.Написать программу на VBA, которая определяет количество дней прошедших со дня рождения некоторого человека. Использовать на форме ввод имени этого человека, даты его рождения и вывод результата с приветствием пользователя.

3.Написать программу на VBA, которая определяет количество дней оставшихся до студенческих каникул. Использовать на форме ввод имени, дату начала каникул и вывод результата с приветствием пользователя.

4.Написать программу на VBA, которая определяет количество дней прошедших со дня некоторой указанной вами даты. Использовать на форме ввод имени, указанной даты и вывод результата с приветствием пользователя.

5.Написать программу на VBA под названием «Кухонный таймер», в

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

6.Написать программу на VBA под названием «Секундомер», в которой одна кнопка отвечает за запуск секундомера (начинается отчет времени в секундах), а другая кнопка выдает информацию о количестве прошедших секунд. На форме предусмотреть вывод имени пользователя.

7.Написать программу на VBA под названием «Будильник» с

использованием формы, в которой при достижении указанного времени выдаѐтся надпись «Подъѐм!».

88

8. Написать программу на VBA с использованием формы, которая через каждые 30 секунд выдаѐт сообщение с указанием количества минут оставшихся до конца занятия. Предусмотреть ввод времени до конца занятий.

10. Написать программу на VBA с использованием формы под названием

«Жребий», в которой пользователь должен угадать, что выдаст случайным образом программа «орѐл» или « решка». На форме предусмотреть ввод стороны монеты и вывод результата.

11. Написать программу на VBA с использованием формы под названием

«Очередь», в которой нужно ввести пять фамилий, организовать вывод фамилий случайным образом.

12.Написать программу на VBA с использованием формы в которой происходит перевод одних единиц измерения в другие, по выбору. Для температуры ‒ градусы по Цельсию и в градусы по Форенгейту, сантиметры в дюймы, угловые градусы в радианы.

13.Написать программу на VBA с использованием формы под названием

«Вопрос», в которой на заданный вопрос предлагается выбрать один из трѐх предложенных вариантов ответа. Предусмотреть вывод сообщения о том правильный ли нет был ответ.

14. Написать программу на VBA с использованием формы под названием

«Телефонный справочник». Использовать пять фамилий. Для выбора нужной фамилии использовать список фамилий. После выбора нужной фамилии предусмотреть вывод соответствующего номера телефона. Использовать добавление и удаление фамилий из списка справочника.

15. Написать программу на VBA с использованием формы для вычисления нескольких тригонометрических функций для угла, задаваемого в градусах и вывода полученного результата.

89

Надежда Тимофеевна Суханова

ИНФОРМАТИКА

Учебно-методическое пособие по выполнению лабораторных работ по дисциплине «Информатика» для

обучающихся по направлению подготовки (специальность) 07.03.01 Архитектура, направленность (профиль) Градостроительное проектирование

Федеральное государственное бюджетное образовательное учреждение высшего образования

«Нижегородский государственный архитектурно-строительный университет» 603950, Нижний Новгород, ул. Ильинская, 65.

http://www.nngasu.ru, srec@nngasu.ru

90

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]