Операторы языка и управляющие конструкции
Математические операторы позволяют выполнять в программе действия над числами. В таблице 2.2 приведены арифметические операторы и выполняемые ими функции.
Таблица 2.1 – Префиксы, используемые в наименованиях переменных
Операция | Знак | Запись | Типы данных | Действие |
Сложение | + | a + b | Byte, Short, Integer, Long, Single, Double, Decimal | Складывает два числа |
Вычитание | - | a - b | Byte, Short, Integer, Long, Single, Double, Decimal | Вычитает из одного числа другое |
Деление | / | a/b | Byte, Short, Integer, Long, Single, Double, Decimal | Делит два числа и возвращает результат с плавающей точкой |
Деление нацело | \ | a\b | Byte, Short, Integer, Long, Single, Double, Decimal | Делит два числа и возвращает целый результат (остаток отбрасывается) |
Остаток | Mod | a Mod b | Byte, Short, Integer, Long, Single, Double, Decimal | Вычисляется остаток от деления одного числа на другое |
Умножение | * | а * b | Byte, Short, Integer, Long, Single, Double, Decimal | Умножает два числа |
Возведение в степень | ^ | a ^ b | Byte, Short, Integer, Long, Single, Double, Decimal | Возводит число в степень |
Математические операторы предназначены для создания выражений. Выражения могут содержать переменные, константы, функции, связанные более чем одним оператором. Если в выражении отсутствуют скобки, то операторы выполняются в следующем порядке:
- возведение в степень;
- умножение и деление;
- деление нацело;
- взятие остатка от деления;
- сложение и вычитание.
Можно изменить порядок вычисления в выражении, используя круглые скобки.
|
|
В VBA, как и во всех языках программирования, существуют управляющие конструкции, предназначенные для управления порядком выполнения команд. Различают два основных типа управляющих операторов:
- If
- Select..Case
Конструкция If используется в том случае, когда необходимо, чтобы группа операторов выполнялась при соблюдении определенных условий. Конструкция Select..Case позволяет на основании анализа значения заданного выражения выполнять те или иные действия.
В свою очередь, управляющие операторы if бывают двух видов:
- If...Then
- If...Then...Else
Конструкция If...Then применяется, когда необходимо выполнить определенные действия в зависимости от некоторого условия. Управляющая конструкция If...Then...Else используется в том случае, когда необходимо выполнить разные действия в зависимости от условия. Конструкция If.. .Then.. .Else аналогична конструкции If...Then, но позволяет задать действия, исполняемые как при выполнении условий, так и в случае их невыполнения.
Основанием для принятия решений в управляющих конструкциях являются условные выражения, поэтому предварительно необходимо сказать несколько слов об этих выражениях и работе с ними.
Условные выражения – это такие выражения, которые возвращают одно из двух значений: Истина или Ложь. В условных выражениях используют операторы сравнения, приведенные в таблице 2.3.
|
|
Таблица 2.3 – Операторы сравнения для условных выражений
Операция | Знак |
Меньше | < |
Меньше или равно | <= |
Больше | > |
Операция | Знак |
Больше или равно | >= |
Равно | = |
Не равно | <> |
Над условными выражениями можно выполнять действия логической математики (логические операции). К логическим побитовым операциям относятся операции And, Or, And Also, Or Else, Xor, Not.Операция Not имеет один операнд, остальные – по два операнда.
Ключевые слова IF и End If имеют тот же смысл, что и в конструкции If...Then. Если заданное в конструкции условие не выполняется (результат проверки равен False), и конструкция содержит ключевое слово Else, Visual Basic выполнит последовательность конструкций, расположенных следом за Else. После чего управление перейдет к конструкции, следующей после End If.
Стандартные функции работы с файлами, строками, диалоговыми окнами
В VBA имеется ряд функций и операторов по работе с файлами и каталогами. Одним из удобств является то, что не требуется устанавливать ссылку на используемую библиотеку. В таблице 2.4 эти функции и представлены.
|
|
Таблица 2.4 – Функции и операторы для работы с файлами
Функция, оператор | Назначение |
Open | Открывает файл |
Close | Закрывает все файлы |
Close # | Закрывает файл по идентификатору |
Reset | Закрывает все открытые файлы, записывает содержимое буферов. |
Print tt | Записывает данные в файл |
FileCopy | Копирует файл |
EOF | Определяет метку конца файла |
FileAttr | Возвращает режим доступа открытого файла |
FileDateTime | Возвращает дату и время создания файла |
FileLen | Возвращает размер файла в байтах |
FreeFile | Возвращает номер свободного идентификатора |
GetAttr | Получает атрибуты файла |
SetAttr | Устанавливает атрибуты файла |
Loc | Возвращает номер текущей позиции в файле |
LOF | Возвращает размер открытого файла в байтах |
Seek | Устанавливает на заданную номером позицию или запись в файле |
Dir | Возвращает содержимое текущей папки |
Kill | Удаляет файл |
Lock | Блокирует файл при работе в многопользовательской среде |
Unlock | Снимает блокировку файла в многопользовательской среде |
Name | Задает имя файла |
Get # | Читает данные из файла |
Input | Читает данные из файла |
Input # | Читает данные из файла |
Line Input # | Читает строку из файла |
Put # | Записывает данные в файл |
Write # | Записывает данные в файл |
|
|
В таблице 2.5 представлены функции обработки строковых выражений, которые позволяют произвести широкий спектр операций: от нахождения длины строки, до замены в строке подстрок.
Таблица 2.5 – Функции для работы со строками
Функция | Назначение |
Asc | Возвращает ASCII- код символа |
Chr | Преобразовывает ASCII-код в символ |
InStr, InStrRev | Осуществляет поиск одной строки в другой |
Lcase | Изменяет регистр букв исходной строки на нижний |
Left | Возвращает указанное количество символов с начала строки |
Len | Возвращает количество символов в строке |
Ltrim, RTrim, Trim | Удаляют пробелы, расположенные соответственно в начале, в конце и с обеих сторон символьной строки |
Функция | Назначение |
Mid | Возвращает заданное количество символов из произвольного места строки |
Right | Возвращает указанное количество символов с конца строки |
Str, CStr | Преобразовывают числовое выражение в строку |
StrReverse | Изменяет порядок следования символов в строке на обратный |
StrConv | Изменяет регистр букв символьной строки |
Продолжение таблицы 2.5 | |
Val | Преобразовывают строку в числовое выражение |
UCase | Изменяет регистр букв исходной строки на нижний |
В проектах VBA часто встречаются две разновидности диалоговых окон: окна сообщений и окна ввода. Они встроены в VBA, и если их возможностей достаточно, то можно обойтись без проектирования диалоговых окон. Окно сообщений выводит простейшие сообщения для пользователя, а окно ввода обеспечивает ввод информации.
Функция InputBox выводит на экран диалоговое окно, содержащее сообщение, поле ввода, и две кнопки OK и Cancel. Она устанавливает режим ожидания ввода текста пользователем и нажатия кнопки, а затем, при нажатии на кнопку OK, возвращает значение типа String, содержащее текст, введенный в поле ввода. При нажатии кнопки Cancel возвращается пустая строка.
Процедура MsgBox выводит на экран диалоговое окно, содержащее сообщение, устанавливает режим ожидания нажатия кнопки пользователем, а затем возвращает значение типа Integer, указывающее, какая кнопка была нажата.
Дата добавления: 2020-01-07; просмотров: 218; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!