Использование функций VisualBasic — КиберПедия 

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Использование функций VisualBasic

2017-11-17 298
Использование функций VisualBasic 0.00 из 5.00 0 оценок
Заказать работу

Вы уже пользовались встроенными VBA-функциями: InputBox и MsgBox. Функция (function) – это встроенная формула, выполняющая действия над выражениями и генерирующая значение. Функция всегда возвращает значение, которое VBA вставляет в программу в том месте, где появляется имя функции. Функции VBA делятся на несколько групп в зависимости от типа операции или вычисления, которое они выполняют. Не путайте термины функция и процедура. Обычно процедура выполняет определенную задачу (или группу задач) подобно тому, как определенная команда меню в Excel, Word или другом приложении выполняет конкретную задачу. Функция оперирует одним или более значениями и возвращает некоторое результирующее значение (как формула в ячейке рабочего листа Excel). Чтобы использовать функцию, просто вводите имя функции в оператор VBA вместе с любыми аргументами, которые требуются для этой функции, в том месте в операторе, где вам необходимо использовать результат функции. Помещение имени функции в оператор VBA для активизации функции называют вызовом (calling) функции.

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

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

VBA предоставляет стандартный набор математических функций (табл. 15). Таблица 15 – Математические функции VBA (N означает любое численное выражение)

Функции(аргументы) Возвращает/действие
Abs(N) Возвращает абсолютное значение N
Cos(N) Косинус угла N, где N – это угол, измеренный в радианах
Sin(N) Возвращает синус угла; N – это угол, измеренный в радианах
Tan(N) Возвращает тангенс угла; N – угол в радианах
Atn(N) Возвращает арктангенс N как угол в радианах
Exp(N) Возвращает константу е, возведенную в степень N (е – это основание натуральных логарифмов и она (приблизительно) равна 2,718282)
Fix(N) Возвращает целую часть N. Fix не округляет число, а отбрасывает любую дробную часть. Если N является отрицательным, Fix возвращает ближайшее отрицательное целое большее, чем или равное N
Int(N) Возвращает целую часть N. Int не округляет число, а отбрасывает любую дробную часть. Если N является отрицательным, Int возвращает ближайшее отрицательное целое меньшее, чем или равное N
Log(N) Возвращает натуральный логарифм N
Rnd(N) Возвращает случайное число; аргумент является необязательным. Используйте функцию Rnd только после инициализации VBA-генератора случайных чисел оператором Randomize
Sgn(N) Возвращает знак числа: –1, если N – отрицательное; 1, если N – положительное; 0, если N равно 0
Sqr(N) Возвращает корень квадратный из N. VBA отображает ошибку времени исполнения, если N – отрицательное

Функции преобразования данных

VisualBasic предоставляет несколько функций для преобразования одного типа данных в другой (табл. 16). Используйте эти функции для устранения ошибок несовпадения типов и обеспечения явного контроля за типами данных в выражениях.

Таблица 16 – Функции преобразования данных (N – это любое численное,

S – любое строковое, а Е – выражение любого типа)

Функция(аргументы) Возвращает/действие
Asc(S) Возвращает число кода символа, соответствующее первой букве строки S. Буква "А", например, имеет код символа 65

 

Функция(аргументы) Возвращает/действие
Chr(N) Возвращает строку из одного символа, соответствующего коду символа N, который должен быть числом между 0 и 255, включительно. Код символа 65, например, возвращает букву "А" (Chr(13) – символ возврата каретки, Chr(10) – символ смещения на одну строку)
Format(E, S) Возвращает строку, содержащую значение, представленное выражением Е, в формате в соответствии с инструкциями, содержащимися в S
Hex(N) Возвращает строку, содержащую шестнадцатиричное представление N
Oct(N) Возвращает строку, содержащую восьмиричное представление N
RGB(N, N, N) Возвращает целое типа Long, представляющее значение основных цветов изображения. N в каждом аргументе должно быть целым в диапазоне 0 – 255, включительно. Аргументы (слева направо) – это значения для красного, зеленого и синего цвета
Str(N) Возвращает строку, эквивалентную численному выражению N
Val(S) Возвращает численное значение, соответствующее числу, представленному строкой S, которая должна содержать только цифры и одну десятичную точку, иначе VBA не может преобразовать ее в число. Если VBA не может преобразовать строку в S, то функция Valвозвращает 0
CBool(N) Возвращает Boolean-эквивалент численного выражения N
CByte(E) Возвращает численное значение типа Byte (от 0 до 255); Е – любое допустимое численное или строковое выражение, которое может быть преобразовано в число
CCur(E) Возвращает численное значение типа Currency; E – любое допустимое численное или строковое выражение, которое может быть преобразовано в число
CDate(E) Возвращает значение типа Date. E может быть любым допустимым выражением (строкой или числом), представляющим дату в диапазоне 1/1/100 – 12/31/9999, включительно
CDbl(E) Возвращает численное значение типа Double; E – любое допустимое численное или строковое выражение, которое может быть преобразовано в число
Cint(E) Возвращает численное значение типа Integer; E – любое допустимое численное или строковое выражение, которое может быть преобразовано в число
CLng(E) Возвращает численное значение типа Long; E – любое допустимое численное или строковое выражение, которое может быть преобразовано в число
Функция(аргументы) Возвращает/действие
CSng(E) Возвращает численное значение типа Single;E – любое допустимое численное или строковое выражение, которое может быть преобразовано в число
CStr(E) Возвращает значение типа String; E – любое допустимое численное или строковое выражение
CVar(E) Возвращает значение типа Variant; E – любое допустимое численное или строковое выражение

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

VBA-функции даты и времени обычно используются для получения текущей даты и времени, разбиения значения даты на ее составляющие части или для преобразования строк и чисел в значения типа Date (табл. 17).

Таблица 17 – Функции даты и времени (N – любое допустимое численное выражение, a D – любое допустимое выражения типа Date (включая значения типа Date, числа или строки, которые VBA может преобразовать в дату); все аргументы функций являются обязательными, если только не указано иначе)

Функции(аргументы) Возвращает/действие
Date Возвращает системную дату. Можно также использовать эту функцию как процедуру для установки системных часов компьютера. Более подробно можно узнать из справочной системы VBA
Time Возвращает системное время компьютера как значение типа Date. Можно также использовать эту функцию как процедуру для установки системных часов. Более подробно можно узнать из справочной системы VBA
Now Возвращает системную дату и время
Year(D) Возвращает целое, являющееся частью выражения типа Dateи содержащее год. Год возвращается как число между 100 и 9999
Month(D) Возвращает целое, являющееся частью выражения типа Date, содержащее месяц. Месяц возвращается как число между 1 и 12, включительно
Day(D) Возвращает целое, являющееся частью выражения типа Dateи содержащее день. День возвращается как число между 1 и 31, включительно
Weekday(D) Возвращает целое, содержащее день недели для выражения типа Date. День недели возвращается как число между 1 и 7, включительно; 1 – это воскресенье, 2 – понедельник и так далее
Hour(D) Возвращает целое, содержащее часы как часть времени, содержащегося в выражении типа Date. Часы возвращаются как число между 0 и 23, включительно. Если выражение D не содержит значения времени, то Hour возвращает 0
Функции(аргументы) Возвращает/действие
Minute(D) Возвращает целое, содержащее минуты как часть времени в выражении типа Date.Минуты возвращаются как число между 0 и 59, включительно. Если выражение D не содержит значения времени, Minute возвращает 0
Second(D) Возвращает целое, содержащее секунды как часть времени в выражении типа Date. Секунды возвращаются как число между 0 и 59, включительно. Если выражение D не содержит значения времени, Second возвращает 0
DateAdd(S, N, D) Возвращает значение [тип Variant (Date)], содержащее дату, к которой добавлен заданный интервал времени
DateDiff(S, D1, D2[, Nl [, N2 ]]) Возвращает значение [тип Variant (Long)] числа временных интервалов между двумя определенными датами
DatePart(S, D, [, N1 [, N2]]) Возвращает определенную часть [тип Variant (Integer)] заданной даты
DateSerial(N, N, N) Возвращает значение последовательной даты для заданной даты. Слева направо аргументы представляют год, месяц и день. Аргумент года должен быть целым числом между 100 и 9999, месяца — между 1 и 12, дня — между 1 и 31 (все диапазоны являются включающими)
TimeSerial(N, N, N) Возвращает значение последовательного времени. Слева направо аргументы представляют часы, минуты и секунды. Аргумент часов должен быть целым числом между 0 и 23, аргументы минут и секунд должны оба быть числами от 0 по 59
DateValue(E) Возвращает значение типа Date, эквивалентное дате, заданной аргументом Е, который должен быть строкой, числом или константой, представляющей дату
TimeValue(E) Возвращает значение типа Date, содержащее время, заданное аргументом Е, который может быть строкой, числом или константой, представляющей время
Timer Возвращает число, представляющее количество секунд от полуночи в соответствии с системным временем компьютера
Некоторые из перечисленных функций уже использовались в примерах этой

книги, другие — будут использоваться далее.

Строковые функции

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

Таблица 18 – Строковые функции (N – это любое допустимое численное выражение, a S – это любое допустимое строковое выражение)

Функция(аргумент) Возвращает/действие
InStr([N1,] S1, S2[, N2]) Возвращает положение S2 в S1. N1 – начальное положение для поиска; N2 определяет тип сравнения. N1 и N2 необязательны. Если N2 опускается, то для поиска используется текущая установка OptionCompare
InStrRev(Sl, S2 [, Nl[, N2]]) Возвращает позицию появления строки S2 внутри S1, в направлении от конца (или N1) к началу строки. N2 определяет тип сравнения. Если N2 опускается, то для поиска используется текущая установка OptionCompare
LCase(S) Возвращает строку (тип String), содержащую копию S со всеми символами верхнего регистра, преобразованными в символы нижнего регистра
Left(S, N) Возвращает строку; копирует N символов из S, начиная с левого крайнего символа S
Len(S) Возвращает число символов в S, включая начальные и конечные пробелы
LTrim(S) Возвращает копию строки S после удаления символов пробела из левой части строки (начальные пробелы)
Mid(S, N1, N2) Возвращает строку; копирует N2 символов из S, начиная с позиции символа в S, заданной аргументом N1. N2 является необязательным; если N2 опущен, то Mid возвращает все символы в строке S от позиции N1 до конца строки
Right(S, N) Возвращает значение типа String;копирует N символов из S, начиная с правого крайнего символа S
RTrim(S) Возвращает копию строки S после удаления символов пробела из правой части строки (конечные символы)
Space(N) Возвращает строку пробелов длиной N символов
StrComp(Sl, S2, N) Сравнивает S1 с S2 и возвращает число, обозначающее результат сравнения: -1, если SI < S2; 0, если SI = S2; 1, если SI > S2.N является необязательным и указывает, следует ли выполнять сравнение с учетом регистра. Если N опускается, строки сравниваются с использованием текущей установки OptionCompare
StrConv(S, N) Возвращает строку, преобразованную в новую форму в зависимости от числового кода, заданного аргументом N. VBA предоставляет внутренние константы для использования с функцией StrConv;наиболее полезными являются: vbProperCase (преобразует строку так, что каждая буква, начинающая слово, становится заглавной), vbLowerCase(преобразует строку в буквы нижнего регистра) и vbUpperCase (преобразует строку в буквы верхнего регистра)
Функция(аргумент) Возвращает/действие
String(N, S) Возвращает строку длиной N символов, состоящую из символа, заданного первым символом в S
Trim(S) Возвращает копию строки S после удаления начальных и конечных символов пробела из этой строки
UCase(S) Возвращает S со всеми символами нижнего регистра, преобразованными в символы верхнего регистра
Несколько перечисленных в табл. 16 функций преобразования типа данных

относятся также к манипулированию строками: Chr, Format, CStr, в частности.


Поделиться с друзьями:

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

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.016 с.