
Технология выполнения
1. Активизируйте приложение Word, сохраните документ под именем Case.
2. Перейдите в редактор VBA и создайте форму (рис. 18).
3. Пропишите обработчик кнопки «Результат».
Рис. 18. Форма примера 5 в режиме конструктора
Для того чтобы программа работала корректно, необходимо перевести все текстовые значения, которые вводятся в текстовые поля, в числовые. Для этого прописывают в коде преобразование: a = Val(TextBox1.Text) и т. д. После чего программа уже работает с числовыми значениями.
Если программа в итоге выдает значение одного типа (числовое или строковое), то строку вывода результата можно прописывать по окончании всего блока Case. В данном примере сначала выводятся числовые значения (d), а затем строковое («Введено не то значение»). Поэтому вывод результата необходимо предусмотреть в каждой ветке Case.
Результаты работы показаны на рис. 19.
Пример 6. Создать программу, которая, используя пользовательское диалоговое окно (форму), выполняет следующие действия: при вводе трех переменных в текстовые поля она считывает данные и сравнивает с первой переменной а. Результат выдается в метку на форме (рис. 20).
Рис. 19. Некоторые результаты работы формы примера 5
Рис. 20. Форма примера 6 в режиме конструктора и в рабочем состоянии
Листинг примера 6
Пример 7. Создать программу, которая, используя форму, выполняет следующие действия: при вводе переменной в текстовое поле она считывает данное значение а, после чего организует цикл for с шагом, равным 5, где при каждом шаге значение переменной b становится равным значению переменной а плюс шаг изменения. Итоговое значение с суммирует полученное значение b и введенное значение а. Результат выдается в метку на форме (рис. 21).
Рис. 21. Форма примера 7 в режиме конструктора и в рабочем состоянии
Листинг примера 7
Пример 8. Создать программу, которая выполняет следующие действия: организованный цикл for each присваивает переменной b, объявленной в программе, последнее значение массива, также определенного программой. После этого происходят вычисления, предложенные в программе:
• в метку label2 выдается результат увеличения полученной переменной на значение первого элемента массива;
• в метку label3 выдается результат увеличения полученной суммы на значение второго элемента массива;
• в метку label4 выдается результат увеличения полученной суммы на значение третьего элемента массива;
• в метку label6 выдается результат увеличения полученной суммы на значение последнего элемента массива.
Результат выдается для наглядности в различные метки на форме (рис. 22).
Рис. 22. Форма примера 8 в режиме конструктора и в рабочем состоянии
Листинг примера 8
Примечание. Как говорилось выше, For Each … Next не использует счетчик цикла. Циклы For Each … Next выполняются столько раз, сколько имеется элементов в определенной группе, такой как коллекция объектов или массив. Другими словами, цикл For Each … Next выполняется один раз для каждого элемента в группе. Вследствие чего данный цикл используется в основном в специфических действиях, таких как поиск необходимого листа в коллекции объектов и т. д., и не используется при решении простых задач.
Пример 9. Создать программу, которая, используя данные, считанные из текстовых полей формы, после нажатия на кнопку выводит сообщение:
«Здравствуй, введенное имя, студент группы номер группы специальности название специальности!»,
где введенное имя – значение из первого текстового поля;
номер группы – значение из второго текстового поля;
название специальности – значение из третьего текстового поля.
Пример 10. Создать программу, которая, используя данные, считанные из текстовых полей формы, выполняет следующие действия: если введенный текст одинаков, то выдается сообщение «значение1совпало с значением2», если введенный текст неодинаков, то выдается сообщение «значение1 не совпало с значением2», где значение1 и значение2 – введенные слова.
Примечание. При разработке программы лучше использовать оператор Like (рис. 23).
Рис. 23. Форма примера 10 в рабочем режиме