Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИнфТех.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
407.72 Кб
Скачать

22) Операции vba

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

  • Математические, выполняются над числами, и их результатом являются числа.

  • Отношения, применяются не только к числам, и их результатом являются логические значения, например х>у.

  • Логические, используются в логических выражениях и их результатом являются логические значения, напримерNot x And y.

Таблица 1. Математические операции

Операция

Название

[Операнд1] + [Операнд2]

Сложение

[Операнд1] - [Операнд2]

Вычитание

- [Операнд]

Перемена знака

[Операнд1] * [Операнд2]

Умножение

[Операнд1] / [Операнд2]

Деление

[Операнд1] \ [Операнд2]

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

[Операнд1] Mod [Операнд2]

Остаток от деления по модулю

[Операнд1] ^ [Операнд2]

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

Таблица 2. Операции отношения

Операция

Название

[Операнд1] < [Операнд2]

Меньше

[Операнд1] > [Операнд2]

Больше

[Операнд1] <= [Операнд2]

Меньше или равно

[Операнд1] >= [Операнд2]

Больше или равно

[Операнд1] <> [Операнд2]

Не равно

[Операнд1] = [Операнд2]

Равно

[Операнд1] Is [Операнд2]

Сравнение двух операндов, содержащих ссылки на объекты

[Операнд1] Like [Операнд2]

Сравнение двух строковых выражений

Таблица 3. Логические операции

Операция

Название

[Операнд1] And [Операнд2]

Логическое умножение

[Операнд1] Or [Операнд2]

Логическое сложение

[Операнд1] Xor [Операнд2]

Исключающее или

Not [Операнд]

Логическое отрицание

[Операнд1] Imp [Операнд2]

Логическая импликация (в настоящее время почти не используется)

[Операнд1] Equ [Операнд2]

Логическая эквивалентность (в настоящее время почти не используется)

Таблица 4. Другие операции

Операция

Название

[Операнд1] & [Операнд2]

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

23) Встроенные функции vba

Основные категории:

- математические функции

- функции проверки типов

- функции преобразования форматов

- функции обработки строк

- функции времени и даты

Функции проверки типов

Функция

Проверка

IsArray(переменная)

Является ли переменная массивом

IsDate(переменная)

Является ли переменная датой

IsEmpty(переменная)

Была ли переменная описана инструкцией Dim

IsError(переменная)

Является ли переменная кодом ошибки

IsNull(переменная)

Является ли переменная пустым значением (Null)

IsNumeric(переменная)

Является ли переменная числовым значением

IsObject(переменная)

Является ли переменная объектом

Функция

Тип, в который преобразуется выражение

CBool (выражение)

Boolean

CByte (выражение)

Byte

CCur (выражение)

Currency

CDate (выражение)

Date

CDbl (выражение)

Double

CDec (выражение)

Decimel

CInt (выражение)

Integer

CLng (выражение)

Long

CSng (выражение)

Single

CVar (выражение)

Variant

CStr (выражение)

String

Функции времени и даты.

Функция

Возвращаемое значение

Date

Возвращает значение типа Variant(Date), содержащее текущую системную дату

Time

Возвращает значение типа Variant(Date), содержащее текущее время по системным часам компьютера

Now

Возвращает значение типа Variant(Date), содержащее текущую системную дату и время по системному календарю и часам компьютера

Hour(время), Minute(время), Second(время)

Возвращает значение типа Variant(Date), содержащее целое число, которое представляет часы, минуты и секунды в значении времени

Day(Дата), Month(Дата), Year(Дата)

Возвращает значение типа Variant(Date), содержащее целое число, которое представляет день, месяц, год в значении даты

Пример: День Рождения = #May 17, 1960#

Weekday(date, [firstdayofweek])

Возвращает значение типа Variant(Date), содержащее целое число, которое представляет день недели. Допустимые значения: vbSunday(воскресенье), vbMonday(понедельник), vbTuesday(вторник), vbWednesday(среда), vbThursday(четверг), vbFriday(пятница), vbSaturday(суббота)

Timer

Возвращает значение типа Single, представляющее число секунд, прошедших после полуночи

DateDiff(interval, date1,date2[, firstdayofweek[, firstweekofyear]])

Возвращает значение типа Variant (Long), указывающее число временных интервалов между двумя датами. ( interval – строковое выражение, указывающее тип временного интервала, который следует использовать при вычислении разности между датами date1 и date2; firstdayofweek - постоянная, указывающая первый день недели; firstweekofyear- постоянная, указывающая первую неделю года.

DatePart(interval, date[, firstdayofweek[, firstweekofyear]])

Возвращает значение типа Variant(Integer), содержащее указанный компонент даты.

DateAdd(interval, number, date)

Возвращает значение типа Variant (Date), содержащее дату, к которой добавлен указанный временной интервал. (interval - строковое выражение, указывающее добавляемого временного интервала; number – числовое выражение, указывающее число временных интервалов, которое следует добавить; date – значение типа Variant(Date) или литерал даты, представляющий дату, к которой добавляется указанный временной интервал).

TimeSerial(hour, minute, second)

Возвращает значение типа Variant(Date), содержащее значение времени, с часу, минуте и секунде.

DateSerial (year, month, day)

Возвращает значение типа Variant(Date), соответствующее указанному году, месяцу и дню.

TimeValue

Преобразует строку в формат времени

Функции обработки строк.

Функция

Возвращаемое значение

Asc (строка)

Возвращает ASCII-код начальной буквы строки

Chr (код)

Преобразует ASCII-код в строку. Например: Chr(13)-переход на новую строку, Chr(97)=”a”

Lcase (строка)

Преобразует строку к нижнему регистру

Ucase

Преобразует строку к верхнему регистру

Left (string , length)

Возвращает подстроку, состоящую из заданного числа первых символов исходной строки. (length-число символов, string-исходная строка)

Right (string, length)

Возвращает строку, состоящую из заданного числа последних символов исходной строки.

Mid (string, start[,length])

Возвращает подстроку строки, содержащую указанное число символов. (string-строковое выражение, из которого извлекается подстрока; start- позиция символа в строке string, с которого начинается нужная подстрока; length-число возвращаемых символов подстроки)

Len (строка)

Возвращает число символов строки

LTrim(строка)

Возвращает копию строки без пробелов в начале

Rtrim(строка)

Возвращает копию строки без пробелов в конце

Trim(строка)

Возвращает копию строки без пробелов в начале и в конце

Space(число)

Возвращает строку, состоящую из указанного числа пробелов

String(number,character)

Возвращает строку, состоящую из указанного числа повторений одного и того же символа. (number-число повторений символа; character- повторяемый символ)

StrComp (string1, string2 [,compare])

Возвращает результат двух строк. (string1и string2 - два любых строковых выражения; compare- указывает способ сравнения строк; Допустимые значения: 0 - двоичное сравнение, 1 - посимвольное сравнение без учета регистра.)

Возвращаемые значения:

- string1 меньше, чем string2, то -1

- string1 равняется string2, то 0

- string1 больше, чем string2, то 1

InStr ([start, ]string1, string2 [,])

Возвращает позицию первого вхождения одной строки внутри другой строки. (start – числовое выражение, задающее позицию, с которой начинается каждый поиск, если этот аргумент опущен, поиск начинается с первого символа строки; string1 – строковое выражение, в котором выполняется поиск; string2 – искомое строковое выражение; compare – указывает способ сравнения строк; Допустимые значения: 0 - для двоичного сравнения, 1- посимвольное сравнение без учета регистра.)

Функции специального форматирования.

Функция

Назначение

FotmatCurrency(E(,N(,I(,U(,G)))))

Возвращает выражение, отформатированное как денежное (валютное) выражение с использованием значения, заданного на вкладке Денежная единица окна Свойства: Язык и стандарты, доступного из Панели управления

FormatDateTime(D(,N))

Возвращает выражение, отформатированное, как дата или время

FormatNumber(E(,N(,I(,U(,G)))))

Возвращает выражение, отформатированное, как число

FormatPercent(E(,N(,I(,U(,G)))))

Возвращает выражение, отформатированное, как процентное отношение (умноженное на 100) с конечным знаком процента (%).