Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
04 VBA.doc
Скачиваний:
16
Добавлен:
20.04.2015
Размер:
526.85 Кб
Скачать

4.6 Ввод информации с использованием клавиатуры.

Программа в примере 1 вычисляет значение функции F при заданном значении аргумента x. Если потребуется определить функцию для другого x, то придется вносить изменения в код процедуры. Это не очень удобно. Лучше вводить данные с помощью клавиатуры. Для этого в VBA используются диалоговые окна, встроенные или создаваемые пользователем. Встроенное диалоговое окно для ввода строки текста показано на рис.1. Это окно приглашает пользователя ввести свое имя, но его можно использовать и для ввода числа.

строка ввода текста кнопки

Рис.2

Для создания окна ввода используется функция InputBox, которая имеет пять параметров, причем обязательным является только один из них, первый. Остальные параметры можно опускать. В приведенных ниже примерах будем использовать два параметра. Первый - обязательный текст выводимого в окне сообщения. В показанном на рисунке 2 окне ввода – это текст «Введите Ваше имя». Второй параметр - необязательный заголовок окна. На рисунке 2 – это «Игра в крестики-нолики». Вызов функции InputBox в этом случае записывается в виде оператора:

x= InputBox(“Сообщение”,”Заголовок окна”)

Здесь ”Сообщение” и ”Заголовок окна” – любые текстовые константы.

Функция InputBox используется не только для ввода текста, но и чисел.

Перепишем программу 1, используя функцию InputBox.

Sub Пример_3 ()

x=InputBox(”Введите х”,”Пример 2”)

f = x^3 + SQR(x^2+1) + EXP(x)

Debug.Print “x=”; x, “f=”; f

End Sub

Так следует записывать текст второго варианта программы задания №1. Обратите внимание на то, что в заголовке процедуры перед цифрой 3 стоит знак подчеркивания, а не пробел. Пробелы в именах не допускаются.

После запуска программы (клавиша F5) появляется окно ввода данных. Следует ввести число, соответствующее значению аргумента x. Значение х надо вводить в строке ввода, отделяя целую часть числа от дробной так, как это принято в используемой версии Excel. На приведенном ниже рисунке для этой цели используется запятая.

Рис.3

После щелчка левой кнопкой мыши (ЛКМ) на кнопке “ОК” или нажатия на клавиатуре клавиши “ВВОД” (“Enter”), окно ввода закроется, выполнение программы будет продолжено, а на экране снова появится окно редактора VBA. Результат вычислений можно увидеть в окне отладки.

4.7 Условные операторы.

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

Операторы VBAвыполняются в программе в том порядке, в каком они записаны, один за другим, пока не дойдет очередь до одного из операторов управления, которые позволяют организовать многократное повторение группы операторов или осуществить переход к фрагменту, записанному в другой части программы. ВVBAимеется несколько операторов управления. Рассмотрим оператор безусловного перехода и одну из форм условного логического оператора.

Оператор безусловного перехода.

Оператор безусловного перехода позволяет организовать переход к любому помеченному меткой оператору. В прежних версиях языка Бейсик каждая строка программы начиналась с номера. И в VBAразрешается перенумеровать все операторы, кроме оператораSubи некоторых других. В качестве метки в этом случае используется целая константа без знака - номер оператора. Однако в настоящее время не принято ставить номера перед всеми операторами. В качестве метки обычно используется заканчивающийся двоеточием идентификатор, т.е. буква или сочетание букв и цифр, с двоеточием в конце. У каждого помеченного оператора должна быть уникальная метка. Общая форма оператора безусловного перехода имеет вид:

Go To N

Здесь N - метка.

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

Пример.

. . . . . . .

М10: a = x + y

. . . . . . .

GoToМ10

М5: y= 1.3

. . . . . .

После оператора Go To М10 будет выполняться оператор с меткой М10. Где-то в программе имеется переход к оператору с меткой М5.

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