Инструкция присваивания работает следующим образом:
1. в начале вычисляется значение выражения справа от знака присваивания «=», а
2. затем – полученное значение записывается в переменную, имя которой указано слева от него. Предыдущее значение переменной при этом безвозвратно теряется, а новое остается там до тех пор, пока не буде «затёрто» следующим значением.
Например, в инструкции:
Var2 = 2 + 3
1. в начале вычисляется значение выражения 2 + 3, которое равно 5, а
2. затем полученное значение (5) присваивается переменной Var2.
Исходя из изложенного выше алгоритма работы инструкции присваивания, в программировании довольно часто используется следующая конструкция, совершенно бессмысленная с точки зрения математики:
nCount = nCount + 1
– переменная nCount не может быть равна самой себе, увеличенной на единицу! Но в программировании она допустима, и имеет следующий смысл (семантику):
1. к имеющемуся на ткущий момент значению переменной nCount прибавить 1, а
2. затем полученное значение записать в переменную nCount.
То есть, в результате выполнения этой инструкции значение переменной nCount увеличится на 1. Этот приём довольно часто используется в программировании для подсчета количества различных объектов. При этом переменная, в которой накапливается сумма так и называется – счетчик. Естественно, что до начала счета счетчик необходимо привести в исходное состояние, например, обнулить:
nCount = 0
Шаг изменения счетчика при этом может быть совершенно произвольным числом, не обязательно равным 1.
Рассмотренная выше инструкция присваивания представляет собой простейшее, допустимое в VBA, выражение. Выражения в программировании совершенно аналогичны выражениям в математике – они служат для получения новых значений. Выражения состоят из операндов и, возможно, объединенных операторами (знаками операций). Операнды представляют объекты, над которыми выполняются указанные с помощью операторов действия. В качестве операндов могут выступать переменные, константы, функции и т.д., а операторов – знаки арифметических, логических и других операций.
Операторы, используемые в выражениях, бывают двух видов:
1. В большинстве случаев – бинарные (двуместные), когда используются два операнда, например, 2 + 3, где 2 и 3 – операнды, а «+» – оператор.
2. Унарные (или одноместные), когда используется только один операнд, например, -2. Здесь «-» – оператор, а 2 – его единственный операнд.
Унарных операторов только два – «-» и «+». Первый из них используется для изменения знака числовых значений, второй – ни каких действий не вызывает, а служит лишь для поддержания единообразия синтаксиса языка, и поэтому сразу удаляется редактором Visual Basic после того, как курсор покинет строку редактирования. Бинарных операторов гораздо больше, и более подробно они будут рассмотрены немного позже здесь же.
Простейшее выражение – это единственная переменная, константа или обращение к функции, например:
Var1
5
"5"
"Здравствуй, Мир!"
InputBox( "Введите данные" ).
Здесь, первое выражение – это переменная, второе – числовой литерал со значением 5, третье – строковой литерал, состоящий из одного символа «5». При этом необходимо четко понимать, что 5 – это значение типа Integer, и над ним, соответственно, можно выполнять такие арифметические операции как сложение, вычитание и т.д., в то время как для строкового литерала "5" они никакого смысла не имеют – над ним можно выполнять совсем другие операции – конкатенацию и сравнение. Строковые литералы все-таки чаще используются в виде выражения номер четыре. Последнее, пятое, выражение представляет вызов функции InputBox, которая возвращает введенное в её окне ввода значение типа String.
Но, приведенные выше простейшие выражения, не могут быть допустимыми, поскольку правила языка программирования VBA не допускают наличия в программе «бесхозных» выражений – значение выражения должно быть обязательно каким-либо образом использовано. При этом значение выражения можно использовать:
1. присвоив его некоторой переменной, или
2. передав в некоторую функцию, или процедуру, в качестве параметра.
Например:
Pi = 3.14
x = y
y = Sin( x + 1.0).
Первое выражение представляет собой инструкцию присваивания, в которой значение непоименованной константы 3.14 записывается в переменную Pi. Во второй инструкции значение переменной y присваивается переменной x. В третьей инструкции значение синуса, вычисленное функцией Sin(), присваивается переменной y. При этом в качестве параметра функция Sin(), в свою очередь, получает вполне допустимое в данном контексте выражение – x + 1.0.
Некоторые выражения, как, например:
a * ( b + c / d ) - 100.0
могут представлять собой различные сочетания более простых выражений, которые называются подвыражениями. В данном примере подвыражением, например, может быть c / d. VBA допускает любую «глубину» вложенности подвыражений в выражениях.
Всякое выражение характеризуется:
1. значением и
2. типом.
Значение получается в результате вычисления (оценки) выражения, а тип – зависит от типов его операндов и выполняемых над ними операций.
Для получения новых значений в выражениях VBA, в зависимости от типов входящих в них операндов, используются следующие группы операторов, некоторые из которых состоят из одного оператора:
1. Присваивание. Единственный оператор этой группы «=» служит для присваивания значений переменным, и выше уже был достаточно подробно рассмотрен.
2. Арифметические – служат для выполнения арифметических действий над числовыми типами данных.
3. Сравнения – используются для сравнения операндов.
4. Логические – выполняют логические операции.
5. Конкатенация строк. Единственный оператор этой группы обозначается одним из символов «&» или «+», и служит для объединения строковых данных.
Арифметические операторы в VBA обозначаются следующим образом:
+ |
– сложение и унарный «+», |
- |
– вычитание и унарный «-», |
* |
– умножение, |
/ |
– деление, |
^ |
– возведение в степень, |
\ |
– целочисленное деление, |
Mod |
– деление по модулю (остаток от целочисленного деления). |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.