Язык программирования vba операции

Операнды, операции, выражения в VBA

Для выполнения вычислений и других манипуляций в VBA используются выражения. Выражение — это любая комбинация операндов или элементов данных (чисел, констант, переменных, функций и других операндов) и знаков операций.

Операнды (operands) в программировании — это объекты, над которыми выполняют определенные действия (операции).

Знаки операций — это символы, которые используют для соединения операндов в выражении.

Операции в VBA — это действия, которые производят над операндами. Знаки операций в выражении имеют свои приоритеты.

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

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

Оператор — это наименьшая исполняемая единица программного кода VBA. Различают операторы выражения, операторы объявления, операторы присваивания, условные операторы и т.д. Операторы выражений — это процедуры или строка в тексте исполняемого кода программы. Операторы выражений выполняют какие-либо действия в программе.

Операции

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

  • операции присваивания;
  • математические операции;
  • логические операции;
  • операции сравнения (отношений);
  • операции для работы со строками (строковые операции).

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

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

Синтаксис данной операции имеет вид:

  • Имя_Переменной – имя переменной (идентификатор);
  • Символ «=» – знак операции присваивания;
  • выражение – значение (число), комбинация переменных, констант, функций, связанных знаками операций.

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

Для присваивания переменной ссылки на объект применяется инструкция Set. В общем случае инструкция Set имеет следующий синтаксис:

$Set objectvar = [New] objectexpression [Nothing]$

  • New– ключевое слово, которое используется при создании нового экземпляра объекта;
  • Nothing– позволяет освободить все системные ресурсы и ресурсы памяти, выделенные для объекта, на который имелась ссылка (т.е. она удаляет объект из памяти).

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

Математические операторы — это ничто иное, как инструкции, в которых используют математические операции.

В VBA используются следующие математические операции: сложение (+), вычитание (-), умножение (*), деление (/), деление без остатка (), остаток от деления по модулю (mod), возведение в степень (^).

При этом каждая операция имеет свой приоритет, или как его еще называют ранг. Операции 1 ранга будут иметь наивысший приоритет и в программном операторе выполнятся первыми. Операции одного ранга в выражениях выполняются согласно правил ассоциативности (слева направо или наоборот). Так операцией 1 ранга будет являться выражение, заключенное в скобки (), 2 приоритет имеет операция вызова функции, 3 – операция возведения в степень (^) и так далее, самый низший приоритет 12 имеет операция Or.

Оператор сложения (+)

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

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

  • при сложении типов Single и Long результатом станет тип Double;
  • при сложении типа Date с любым другим типом данных результат всегда будет иметь тип Date;
  • при превышении результатом диапазона типа Integer, его преобразуют в тип Long;
  • при превышении результатом типов Long, Single, Date, его преобразуют в тип Double;
  • если любой операнд в выражении сложения будет иметь тип Null, то и результат выражения сложения также будет иметь тип Null.

Оператор вычитания (-)

Данный оператор выполняет две задачи:

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

Поместить унарный минус перед переменной или выражением означает то же, что умножить это число на -1. Оба операнда в выражении вычитания должны быть численными переменными (выражениями) или строковыми выражениями, которые можно преобразовать в число. Данный оператор можно использовать для работы с датами.

VBA использует те же правила для определения типа данных результата выражения вычитания, что и для выражений, использующих оператор сложения. Но, есть дополнение: если оба операнда в выражении являются типом Date, то результат выражения будет иметь тип Double.

Оператор умножения (*)

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

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

Оператор деления (/)

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

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

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

  • оба операнда в выражении деления имеют типы Integer или Single – результат будет иметь тип Single;
  • результат выражения не переполняет диапазон значений для типа Single.

Целочисленное деление ()

Целочисленное деление отличается от деления с плавающей точкой тем, что его результатами всегда являются целые числа без дробной части, численными выражениями или строки, которые можно преобразовать в число. Перед выполнением операции целочисленного деления каждый операнд округляется до числа типа Integer или Long. VBA отбрасывает (но не округляет!) любой дробный остаток результата выражения целочисленного деления. Например, выражения 22\5 и 24\5 будут иметь один и тот же результат = 4. Если хотя бы один операнд в выражении целочисленного деления имеет тип Null, то результат деления также будет иметь тип Null.

Деление по модулю (Mod)

Деление по модулю как бы дополняет целочисленное деление. В делении по модулю выражение возвращает только остаток операции деления как целое. 22 Mod 5 = 4 24 Mod 5 = 8 25 Mod 5 = 0

Остальные свойства деления по модулю идентичны целочисленному делению.

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

Оператор возведения в степень возводит число в степень.

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

Результат выражения имеет тип Double. Если хотя бы один операнд в выражении имеет тип Null, то результат возведения в степень также будет иметь тип Null.

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

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

Логические выражения имеют значение типа Boolean, которое принимает одно из двух логических значений: True (1) или False (0). При выполнении логических операций логическим переменным присваивается результат вычислений, указанный в правой части операторов. К логическим операциям относятся: and, or, nod, xor, eqv, imp (логическое и, или, нет, логическое исключающее или, логическая эквивалентность, логическая импликация). Например,

(9 > 8) Or (2 > 5). Результат является True (истина), так как одно из условий является True.

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

В отличие от математических операций, результатом выполнения которых может быть любое значение, операция отношения может иметь только два результирующих значения – True (Истина) и False (Ложь), которые могут быть присвоены переменным типа Boolean или определенному свойству объекта. Операции отношения применяются для записи выражений условия, результатом выполнения которых являются значения True(Истина) или False(Ложь).

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

Источник

3.2. Операции vba

В программах на VBA можно использовать стандартный набор операций над данными. Имеются три основных типа операций:

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

Знак Значение операции Пример
= Равно 4=4
<> не равно 5<>6
> Больше 8>7
Меньше 3
>= больше или равно 9>=9
меньше или равно 8

Операции сравнения могут давать один из двух результатов: «истина» или «ложь». Все приведенные примеры имеют значение «истина». Примеры, имеющие значение «ложь»: 5 = 6, 7> 8, 6< 3, 8>= 9. Операции сравнения работают не только с числовыми, но и с текстовыми данными. Пример: “Дом1”<> “Дом2” – истина, а “Дом” <>“Дом” – ложь. Операция сравнения двух строковых выражений в VBA обозначается знаком Like, т.е. [операнд 1] Like [операнд 2]. Применяется также операция сравнения двух операндов, содержащих ссылки на объекты, которая обозначается знаком Is, т.е.[операнд 1] Is [операнд 2]. Логические операции Наиболее часто используемыми логическими операциями являются: [операнд1] And [операнд2] – логическое умножение; [операнд1] Or [операнд2] – логическое сложение; [операнд1] Not [операнд2] – логическое отрицание. Значение логических операций And, Or и Not

Значение операндов Значение логических операций
A B A And B A Or B Not A
Истина Истина Истина Истина Ложь
Истина Ложь Ложь Истина
Ложь Истина Ложь Истина Истина
Ложь Ложь Ложь Ложь

Другие операции В VBA часто используется операция Сложение строк. Для сложения строк допустимо использование знака +, т.е. [строка1] + [строка2], но предпочтительнее, во избежание путаницы, применять операцию со знаком &, т.е. [строка1] & [строка2]. Приоритеты операций VBA выполняет операции в соответствии с их приоритетами, что обеспечивает однозначность в трактовании выражений.

Приоритет Операция
1 Вызов функции и скобки
2 ^
3 — смена знака
4 *,/
5 \
6 Mod
7 +,-
8 >, =, , =
9 Not
10 And
11 Or
12 Xor (исключающее Or)
13 Equ (логическая эквивалентность…почти не используется)
14 Imp (логическая импликация….почти не используется)

Источник

Читайте также:  Программирование чипов авто ключей
Оцените статью