Операции и знаки операций

Написание констант

Область действия констант

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

 

Const Pi = 3,14

Dim CircleArea As Single

Sub Calc_CircleArea ( )

Dim Radius As Single

Radius = 5

CircleArea = Pi * (Radius * Radius)

MsgBox CircleArea, , "Area of Circle"

End Sub

 

Строка 1 листинга объявляет константу модульного уровня Pi, которая представляет приближение числа π.

Переменная CircleArea также объявляется на уровне модуля, чтобы значение, вычисленное в процедуре Calc_CircleArea, было доступно для других процедур модуля.


При присваивании именованным константам значений используются литеральные константы, поэтому следует знать правила их написания. Существует несколько правил при написании литеральных констант типа String, Integer, Date, Boolean.

Константы String:

1. Строковые константы должны быть заключены в двойные кавычки (например, "25.67").

2. Пустая строковая константа (null string или empty string) обозначается двумя двойными кавычками с пробелом (" ").

3. Строковая константа должна находиться на одной и той же строке. Нельзя использовать символ продолжения строки (_) для продолжения литеральной константы.

Численные константы (любой из численных типов):

1. Должны состоять только из числовых символов от 0 до 9.

2. Численная константа может начинаться со знака (-) и может содержать десятичную точку.

3. Можно использовать экспоненциальное представление. Никакие другие символы или знаки в численных константах не допускаются. Примеры написания: 12; -14.3; 6.6E+02.

Константы Date

Эти константы нужно размещать между знаками фунта (#). Примеры:

#2-5-97 21:17#

#February 5, 1997 9:17pm#

#Mar-31-97#

#15 April 1997#

VB переформатирует эту константу для соответствия одному из двух следующих форматов, в зависимости от того, содержит ли константа Date информацию о времени:

#2/5/97 9:17:00 PM#

#2/5/97#

Нельзя заключать константу Date в кавычки, чтобы VBA не интерпретировал дату как строковую константу.

Константы Boolean

Существуют только две константы: False и True. Кавычки при этом не используются, слова пишутся полностью.

 

В VB используются следующие операции:

· арифметические;

· конкатенация;

· сравнения;

· логические.

Арифметические операции (математические операторы) - это всего 7 знаков: помимо 4-х основных: +; -; *; / имеются еще 3 дополнительных математических оператора:

^ - возведение в степень;

\ - целочисленное деление;

mod - первое значение тоже делится на второе, но в качестве результата получаем остаток от деления как целое число. Если же нужно узнать дробную часть от деления, то нужно применить операцию деления на модуль, например, 244 mod 7 (получаем количество дней в оставшейся неполной неделе). При этом остаток деления возвращается как целое число:

244 mod 7 = 6

Если теперь выполнить операцию деления на 7, то можно получить результат в десятичной форме: 244 Mod 7 / 7 = 6/7 или 244 Mod 7 / 7 = 0,857.

5.1 mod 3 = 2.

 

Конкатенация или сцепление строк-это оператор &.

 

Сравнение значений (6 операций для сравнения числовых и строковых значений и 2 специальные операции Like (для строк) и Is (для объектов).

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

Операторы:

= (равенство); < (меньше, чем); <= (меньше, чем или равно);

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

ОператорLike(подобие). Оба операнда должны быть значениями String. Если Е1 совпадает с образцом, содержащимся в Е2, то True).

ОператорIs.Оба операнда должны иметь тип Object. Если Е1 ссылается на тот же самый объект, что и Е2, то True.

 

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

And(конъюнкция: Е1 And Е2). Если имеют значение и Е1, и Е2 , то True;

Or(дизъюнкция: Е1 Or Е2). Если имеется Е1 или Е2 или оба, то True;

Not (отрицание: Not Е1). Если Е1 имеет значение, то False, если Е1 отсутствует, то True;

Eqv (логическая эквивалентность: Е1 Eqv Е2). Если Е1 эквивалентно Е2, то True;

Xor (исключающее ИЛИ): Е1 Xor Е2). Если имеется только Е1 или только Е2, то True;

Imp (импликация: Е1 Imp Е2). Если Е1 – False, а Е2 – True, то False. В остальных случаях – True.


Исключающее ИЛИИмпликация (вовлечение)

       
   
 
 

 

 


Получение приоритета:

1. В первую очередь вычисляется выражение в круглых скобках.

Если скобки отсутствуют, то по умолчанию выполняются следующие категории операций:

2. sin(), cos(), abs()…;

3. ^;

4. отрицание (присвоение числу отрицательного значения);

5. *, /;

6. \ (целочисленное деление);

7. Mod;

8. +, -;

9. & (конкатенация или сцепление строк);

10. операции сравнения;

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