|
Лекции VBA. Можно выделить следующие разновидности макросов
Функции даты и времени Язык VBA содержит специальный тип данных Date, предназначенный для представления значений даты и времени. Внутри программ значения типа Date представлены как числа с плавающей запятой:
целая часть значения отображает дату как количество дней, прошедшее с 30 декабря 1899 года; дробная часть значения представляет время в виде доли 24-часового дня (например, .25 — это 6 часов утра, 5 — это полдень и т.д.); дробное число без целой части отображает время без даты.
Для пользователя или программиста представленные таким образом значения даты и времени являются бесполезными. К счастью, в языке VBA предусмотрены инструменты, позволяющие преобразовывать эти значения к более знакомому пользователям виду. Исходное "сырое" представление значений даты и времени в виде чисел с плавающей запятой скрыто от посторонних глаз и используется программой только в процессе проведения внутренних вычислений.
Язык VBA способен распознавать значения даты и времени, представленные практически в любом стандартном формате. Чтобы указать на текстовые константы как на значения даты/времени, необходимо заключить их в символы #. Используйте обычный оператор присваивания, чтобы присвоить переменной типа Date значение даты/времени:
dt = #01.05.2003#
VBA-функции даты и времени обычно используются для получения текущей даты и времени, разбиения значения даты на ее составляющие части или для преобразования строк и чисел в значения типа Date. В таблице 4 приведены VBA-функции даты и времени и их действие. В этой таблице N — любое допустимое численное выражение, a D — любое допустимое выражения типа Date (включая значения типа Date, числа или строки, которые VBA может преобразовать в дату). Все аргументы функций в этой таблице являются обязательными, если не указано иначе.
Таблица 4
Функции(аргументы)
| Возвращает/действие
| 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 — понедельник и так далее.
| WeekdayName(N1,B, N)
| Возвращает строку с наименованием дня недели, номер которого задается параметром N1.
| 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[, N1 [, 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
| Возвращает число, представляющее количество
секунд от полуночи в соответствии с системным временем компьютера.
|
Примеры использования функций даты и времени: god=year(Date()) nomer_den=WeekDay(#25/12/2006#)-1
|
|
|