- •Алгоритмизация и программирование на vba: основы программирования
- •Содержание
- •1 Цель работы. 19
- •2.2Объекты
- •2.3События
- •3Порядок выполнения работы
- •4Содержание отчёта
- •Цель работы
- •5Контрольные вопросы
- •Синтаксис:
- •Аргументы:
- •2.1.3Инструкция DefТип
- •Синтаксис:
- •Аргументы:
- •2.1.6Допустимые имена
- •Синтаксис:
- •Аргументы:
- •2.3.2Совместимость типов
- •2.4Форматирование строк программы
- •2.4.1Перенос инструкции
- •2.4.2Размещение инструкций в одну строку
- •2.5Комментарии
- •2.6Операции в vba
- •2.6.1Арифметические
- •2.6.2Строковые
- •Синтаксис:
- •2.6.3Операции отношения
- •2.6.4Логические операции.
- •2.6.5Приоритеты операций
- •2.7Встроенные функции vba
- •2.7.1Математические функции
- •2.7.2Функции проверки типов
- •2.7.3Функции преобразования форматов
- •Синтаксис:
- •Аргументы:
- •2.7.4Функции обработки строк
- •2.7.5Функции времени и даты
- •2.7.6Функции, возвращающие строки
- •2.7.7Встроенные диалоговые окна
- •Синтаксис:
- •Аргументы:
- •Синтаксис:
- •Аргументы:
- •2.9Схема алгоритма
- •3Задание
- •4Содержание отчёта
- •5Контрольные вопросы
- •6Пример выполнения работы Задание:
- •Текст программы:
- •7Индивидуальные задания
2.6Операции в vba
2.6.1Арифметические
Арифметические операции VBA сведены в таблицу (Таблица 4).
Таблица 4. Арифметические операции.
Операция |
Описание |
[Операнд1] + [Операнд2] |
Сложение |
[Операнд1] - [Операнд2] |
Вычитание |
- [Операнд] |
Перемена знака |
[Операнд1] * [Операнд2] |
Умножение |
[Операнд1] / [Операнд2] |
Деление |
[Операнд1] \ [Операнд2] |
Целочисленное деление |
[Операнд1] Mod [Операнд2] |
Остаток от деления по модулю |
[Операнд1] ^ [Операнд2] |
Возведение в степень |
Операнды должны быть числовых подтипов, результаты операций также являются числами.
2.6.2Строковые
В VBA присутствует одна встроенная строковая операция: конкатенация (сложение) строк.
Синтаксис:
[Строка1] & [Строка2] или [Строка1] + [Строка2]
Результатом операции будет строка, образованная слиянием Строки1 и Строки2.
Для сложения строк предпочтительнее, во избежание путаницы с арифметическим сложением, применять операцию со знаком &
2.6.3Операции отношения
Операции отношения или операции сравнения сведены в таблицу (Таблица 5).
Таблица 5. Операции отношения.
Операция |
Описание |
[Операнд1] < [Операнд2] |
Меньше |
[Операнд1] > [Операнд2] |
Больше |
[Операнд1] <= [Операнд2] |
Меньше или равно |
[Операнд1] >= [Операнд2] |
Больше или равно |
[Операнд1] <> [Операнд2] |
Не равно |
[Операнд1] = [Операнд2] |
Равно |
[Операнд1] Is [Операнд2] |
Сравнение двух операндов, содержащих ссылки на объекты |
[Операнд1] Like [Операнд2] |
Сравнение двух строковых выражений |
Оба операнда должны относиться к одному подтипу, результат операции будет булевского типа: True, если отношение выполняется и False если не выполняется.
2.6.4Логические операции.
Логические операции перечислены в таблице (Таблица 6).
Таблица 6. Логические операции.
Операция |
Описание |
[Операнд1] And [Операнд2] |
Логическое умножение |
[Операнд1] Or [Операнд2] |
Логическое сложение |
[Операнд1] Хог [Операнд2] |
Исключающее or (или) |
Not [Операнд1] |
Логическое отрицание |
[Операнд1] Imp [Операнд2] |
Логическая импликация (в настоящее время почти не используется) |
[Операнд1] Equ [Операнд2] |
Логическая эквивалентность (в настоящее время почти не используется) |
Операнды могут быть булевского или одного из числовых типов. Если операнды логических операций булевского типа, результат операции тоже будет булевского типа соответственно таблице истинности (Таблица 7). Операция Not одноместная и применяется только к Операнду1, остальные операции – двуместные. В других случаях выполняется побитовая логическая операция над двоичными представлениями операндов.
Таблица 7. Таблица истинности
Операнд1 |
Операнд2 |
And |
Or |
Xor |
Not |
Imp |
Equ |
False |
False |
False |
False |
False |
True |
False |
True |
False |
True |
False |
True |
True |
True |
True |
False |
True |
False |
False |
True |
True |
False |
False |
False |
True |
True |
True |
True |
False |
False |
False |
True |
Чаще всего логические операции используются для объединения нескольких операций сравнения. Например, если имеется несколько переменных «a», «b», «c» , каждая из которых должна быть меньше двадцати, и в программе необходимо проверить этот факт, формулируется условие (a<20) And (b<20) And (c<20) которое выполняется (результат равен True – истина) только в случае, когда значение каждой переменной меньше двадцати. Если хотя бы одна переменная содержит значение большее или равное двадцати, условие не выполняется и результат сравнения будет равен False.
