Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция «Visual Basic for Application».doc
Скачиваний:
7
Добавлен:
26.11.2018
Размер:
247.3 Кб
Скачать
    1. Приоритет операций

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

  • возведение в степень (^) ;

  • *, /, целочисленное деление (\), mod ;

  • +,– ;

  • Знак конкатенации (&) ;

  • Операции сравнения;

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

Порядок вычислений можно изменить расстановкой скобок.

  1. Использование встроенных функций vba

Все функции VBA имеют один и тот же синтаксис:

Имя_функции([аргументы])

Имя функции должно подчинятся правилам именования объектов. Аргументы – это исходные данные, необходимые для работы функции. Функция всегда возвращает один единственный результат определенного типа.

Аргумент у функции может быть один, например,

Sin(3.5), IsNumeric(Str), ABS(X) или аргументов может быть несколько, например,

InputBox(“Вводи х”, ”Моя программа ”, 8)

    1. Функции ввода-вывода Функция InputBox

Используется для ввода данных в программу. Имеет следующий синтаксис:

InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])

Отображает на рабочем листе Excel диалоговое окно с заголовком title и приглашением-подсказкой prompt и ожидает ввода данных пользователем с клавиатуры. Результат работы функции – данные, введенные пользователем.

Тип возвращаемого результата –string.

Default – необязательный параметр, в котором можно указать значение по умолчанию, возвращаемое функцией InputBox, в случае, если пользователь ничего не ввел.

xpos, ypos – необязательный параметр, координаты верхнего левого угла диалогового окна. Оба расстояния измеряются в твипах: 1 твип равен 1/20точки (точка – единица измерения типа печати). 1 точка равна 1/72 дюйма.

helpfile, context – используются для обеспечения программы контекстно-зависимой справкой.

Helpfile – строковое выражение, которое содержит имя файла помощи в операционной системе Windows

Context – числовое выражение, которое определяет тематический раздел в файле помощи.

Если вы хотите использовать аргументы helpfile, context необходимо установить компилятор Windows Help File.

Пример:

Dim x As Integer

X= CInt(InputBox(“Введите значение для х”, ”Ввод х”, 5))

Т.к. функция InputBox возвращает результат строкового типа, а переменная х – типа Integer, то в выше приведенном примере используется функция явного преобразования типа.

CInt(выражение) – преобразует выражение к типу Integer;

CDbl(выражение)– преобразует выражение к типу Double;

CLng(выражение) – преобразует выражение к типу Long;

CByte(выражение) – преобразует выражение к типу Byte

Val(выражение) ­ преобразует строку в число, подходящего типа.

Использование этих функций желательно, но необязательно, т.к. VBA автоматически преобразует результат работы функции InputBox к типу переменной (если может). Например, если с клавиатуры введена строка, преобразовать ее к типу Byte, например, не удастся и возникнет ошибка.

! Всегда используйте функцию InputBox в составе оператора присваивания.

A = InputBox(“А =”)

Функция вывода. Функция Msgbox

Синтаксис:

MsgBox(prompt[, buttons] [, title] [, helpfile, context])

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

Buttons – перечисляются кнопки, которые должны присутствовать в диалоговом окне. Например,

константа vbOKOnly имеет значение 0 и выводит в диалоговом окне кнопку OK;

константа vbYesNoCancel имеет значение 3 и выводит в диалоговом окне кнопки OK и Cancel;

константа vbAbortRetryIgnore имеет значение 2 и выводит в диалоговом окне кнопки Abort, Retry, и Ignore. Полный перечень используемых функцией MsgBox констант можно увидеть в справке.

Title – заголовок окна.

helpfile, context–используется так же как и в функции InputBox для обеспечения контекстно-зависимой справки.

Например,

Dim K As integer

K = MsgBox(“Продолжить работу?”, vbYesNoCancel ,”Мое сообщение”)

В результате выполнения этого оператора будет выведено следующее диалоговое окно:

и в зависимости от номера нажатой кнопки (значения переменной К) выполнение программы пойдет тем или иным путем.

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

MsgBox “Значение переменной ” & K