Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование с помощью процедур VBA.doc
Скачиваний:
1
Добавлен:
28.09.2019
Размер:
149.5 Кб
Скачать

Операторы языка vba

Инструкция (оператор) выполняет определенную конкретную операцию.

Операторы обычно помещаются на одной строке. Если же в строке размещается несколько операторов, они разделяются двоеточием (:). Например: Cod = 1: answer = 4

Оператор присваивания

С помощью оператора присваивания в программе записываются действия, связанные с изменением значений переменных.

При выполнении этого оператора вычисляется выражение, приведенное в правой части от знака =, и его результат заносится в переменную, имя которой указано слева от знака =.

<Имя переменной> = <Выражение>

Например, А = (В+С)/В

А = SIN(A)

Операторы присваивания относятся к линейным операторам программы, т.е. при их выполнении не меняется порядок исполнения операторов в программе (см.рис).

Переменные

Переменные – это именованные области памяти, которые используются для временного хранения результатов.

Имена переменных и аргументов назначаются по тем же правилам, что и имена процедур.

Перед включением в процедуру переменные должны быть описаны или объявлены.

Возможны два способа описания переменной: явный и неявный.

Для неявного определения переменной достаточно использовать имя переменной в процедуре, не задавая его специально.

Явное описание переменной состоит в присвоении ей имени и, возможно, типа. Тип указывает, что может хранить переменная: целое число, строку, дату и т.д. Указание конкретного типа позволяет делать функции более быстрыми и надежными.

В языке VBA имеется несколько встроенных типов данных, перечисленных в табл. 1.

Таблица 1. Встроенные типы данных VBA

Тип данных

Разрядность Диапазон значений

Boolean (Логические)

Ложь или истина

Integer (Целые)

От -32768 до 32767

Long (Длинные)

От -2.15Е9до 2.15Е9

Single (Простые)

от –3.402ЕЗ8 до 3.402ЕЗ8

Double (Двойной точности)

от -1.797Е308 до 1.797Е308

Currency (Денежные)

от –9.22Е14 до 9.22Е14

Date (Дата)

от1/1/100 до12/31/9999

String (Строковые)

Число символов

Object (Объект);

Array (Массив)

Зависит от типа и количества элементов

Для того чтобы объявить тип переменной, используется оператор Dim вначале процедуры или модуля (от слова Dimension - размерность, величина), за ним имя переменной, следующее ключевое слово As и, в заключение, тип переменной.

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

Dim theSheet Аs Object

Dim theltem As String, theCost As Currency

Dim theRow As Integer, Numltems As Integer, Summa as Double

Если тип не определен, переменная считается типа Variant. Тип данных Variant наиболее общий тип, но самый прожорливый по ресурсам. Некоторые объекты должны быть сохранены в переменных типа Variant, но для экономии времени выполнения программы и места в оперативной памяти, отводимого под такие переменные, большинство числовых и символьных данных следует сохранять в переменных соответствующего типа.

Переменные, передаваемые процедуре (функции) в виде аргументов, должны быть объявлены в заголовке процедуры (внутри списка аргументов, см. пример).

Function Площадь(One as Double, Two as Double, Tree as Double)

Выражения

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

арифметические операции:

+ (сложение), - (вычитание), * (умножение),

/ (деление вещественное), div (деление целочисленное),

mod (остаток целочисленного деления) - эти операции применяют к вещественным и целым числам, результат - также число;

• операции отношения:

> (больше), < (меньше), = (равно), <> (не равно),

>= (не меньше), <= (не больше) - эти операции применяют к числам, символам, символьным строкам и некоторым другим типам данных, результат - значение логического типа;

логические операции:

and (и), or (или), хог (исключающее или),

not (не) - эти операции выполняют с логическими переменными и константами, результат - значение логического типа;

строковая операция:

+ (сцепление строк) выполняется над символами и строками, результат – строка.

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

Совместимыми считаются: • все целые типы;

• все вещественные типы;

• символ и строка.

Арифметические операции.

Запись выражений, содержащих арифметические операции, выполняется «в строку», порядок выполнения операций определяется скобками (по правилам математики).

При выполнении арифметических операций над числами различных типов выполняется неявное преобразование типов:

а) если один операнд целого типа, а другой - вещественного, то переменная целого типа преобразуется к вещественному типу; результат операции - значение вещественного типа;

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

Операции отношения (сравнения).

Операции отношения определены для вещественных и целых чисел, логических значений и строк.

Результат этих операций ~ значение логического типа, true, если отношение истинно, и false - в противном случае.

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

(х-у)>0,00001 {вместо х=у}

(Х-у)<0,00001 (вместо х=у}