Информатика: Сборник лабораторных работ по программированию в среде Visual Basic for Applications, страница 13

Задание 1. Написать процедуру ввода и вывода Вашего имени с использованием функций InputBox и MsgBox (проверить вводилось ли имя).

Программа:

Sub Имя()

' Описание строковой переменной Имя

Dim Имя As String

'Присвоение переменной Имя возвращаемое значение функции

Имя = InputBox("Введите Ваше Имя")

' Условный блочный оператор If..Then..Else

If Имя = Empty Then

'вызов функции MsgBox

MsgBox "Запустите программу и Введите Ваше Имя"

Else

'Функция MsgBox объединена с переменной Имя

MsgBox "Ваше Имя " & Имя

' Завершает оператор If..Then..Else

End If

End Sub

Проверьте работу программы.

1.3 Вложенные операторы If

ОператорыIf могут быть вложенными друг в друга. Такое вложение операторов применяется, если нужно проверить какое-либо условие при другом условии, которое является истинным. Синтаксис вложенного оператора Ifблочной структуры следующий:

If условие_1 Then

If условие_2 Then

операторы, выполняемые, если условие_1 и условие_2 истинны

Else

операторы, выполняемые, если условие_2 не является истинным                                                           

EndIf

EndIf

В VBА предусмотрена конструкция для работы с вложеннымиоператорами If, когда необходимо рассмотреть еще несколько условий в дополнение к исходному (если исходное условие принимает значение False). Синтаксис такой записивложенных операторов имеет следующую конструкцию:

If условие_1 Then

операторы, выполняемые, если условие_1 истинно

ElseIf условие_2 Then

операторы, выполняемые, если условие_2 истинно

ElseIf условие_3 Then

операторы, выполняемые, если условие_3 истинно

Else

операторы, выполняемые, если ни одно из условий не является истинным                                                           

EndIf

ОБРАТИТЕ ВНИМАНИЕ:

для повышения удобочитаемости в программе используются приемы структурирования: строки под операторами IfThenElseIf и Else имеют разный отступ от левого края,  не считая отступа самой структуры IfThen;

для ElseIfне используетсяEndIf;

при выполнении этой конструкции VBАостанавливается на первом же выражении,   имеющим значение True,   даже если остальные выражения также истинны.

ВЫПОЛНИТЕ!

Задание 2. Создать командную кнопкудля ввода названия части суток и приветствия с использованием этого названия.

Для этого необходимо выполнить следующее: 

Выберите команду Сервис/Макрос/Редактор VisualBasic. Откроется окно редактора Visual Basic.

Выберите команду Вставка /UserForm.

Используя панель инструментов Элементы управления, создайте в форме командную кнопку: для этого с помощью мыши перетащите рамку элемента управления Кнопка в нужное место Вашей формы и задайте ей нужный размер.

Используя окно Свойства, установите для кнопки свойство Caption со значением Сутки.

Дважды щелкнув по созданной кнопке  Сутки, в появившемся модуле формы введите следующие операторы в процедуру CommandButton1_Click()

Dim Сутки As string ` объявление переменной Сутки

Сутки=InputBox(“Введите часть суток”) 

If Сутки=”утро” Then

MsgBox(“Доброе утро”)

ElseIf Сутки=”вечер” Then

MsgBox(“Добрый вечер”)

Else

MsgBox(“Извините такая часть суток отсутствует”)

Endif

Проект готов. Нажмите клавишу  <F5>. На экране отобразится диалоговое окно UserForm1.  Затем нажмите на кнопку Сутки и проверьте работу программы.

Теперь нарисуем блок-схему.

Скругленный прямоугольник: конец
 


1.4 Логические операции

VBAпозволяет использовать сложные условные выражения в одном операторе If, которые связываются между собой с помощью следующих логических операций: