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

Это важно!

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

Предупреждение

Предупреждение о высокой защите приложений

  • закрыть редактор VBA;

  • в приложении Excel или Word (там, где происходит работа в текущий момент) выполнить команду: Сервис + Макрос + Безопасность;

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

  • закрыть приложение (Word или Excel) и запустить его вновь.

Включение режима низкой безопасности

Рассмотрим простейшие примеры работы с формами Пример

Используя инструкцию case, создать программу, которая в зависимости от введенного значения переменной а производит различные вычисления с переменными b и c. Если значение переменной а не совпадает с программными, то выдается сообщение «Введено не то значение».

Все переменные вводятся в текстовые поля формы. При нажатии на кнопку «Результат» происходят выбор действия и вывод полученного значения в специальную метку формы.

Технология выполнения

  • Активизируйте приложение Word, сохраните документ под именем Case.

  • Перейдите в редактор VBA и создайте форму.

  • Пропишите обработчик кнопки «Результат».

Dim a, b, c, d As Integer

Private Sub CommandButton1_Click()

a=Val(TextBox1.Text)

b=Val(TextBox2.Text)

c=Val(TextBox3.Text)

Select Case a

Case 5

d=b + c

Label4.Caption=«Результат: d=» & d

Case 0

d=– b – c

Label4.Caption=«Результат: d=» & d

Case 10

d=b * c

Label4.Caption=«Результат: d=» & d

Case Else

Label4.Caption=«Введено не то значение»

End Select

End Sub

Форма примера в режиме конструктора

Для того чтобы программа работала корректно, необходимо перевести все текстовые значения, которые вводятся в текстовые поля, в числовые. Для этого прописывают в коде преобразование: a=Val(TextBox1.Text) и так далее После чего программа уже работает с числовыми значениями.

Если программа в итоге выдает значение одного типа (числовое или строковое), то строку вывода результата можно прописывать по окончании всего блока Case. В данном примере сначала выводятся числовые значения (d), а затем строковое («Введено не то значение»). Поэтому вывод результата необходимо предусмотреть в каждой ветке Case.

Результаты работы показаны на рисунке.

Некоторые результаты работы формы примера

Пример

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

Форма примера в режиме конструктора и в рабочем состоянии

Листинг примера

Private Sub CommandButton1_Click()

Dim a, b, c As Integer

a=Val(TextBox1.Text)

b=Val(TextBox2.Text)

c=Val(TextBox3.Text)

If a > b And a > c Then

Label1.Caption=«Значение а > b и a >c»

Else

Label1.Caption=«Значение а не всегда больше b и с» End If End Sub

Пример

Создать программу, которая, используя форму, выполняет следующие действия: при вводе переменной в текстовое поле она считывает данное значение а, после чего организует цикл for с шагом, равным 5, где при каждом шаге значение переменной b становится равным значению переменной а плюс шаг изменения. Итоговое значение с суммирует полученное значение b и введенное значение а. Результат выдается в метку на форме.

Форма примера в режиме конструктора и в рабочем состоянии