Возвращает разность между двумя датами (дата2 – дата1) в заданных интервалах (годах, днях, неделях, кварталах и т.д.). Если значение нецелое, то оно округляется с избытком. Поэтому, например, при сравнении дат 31 декабря и 1 января следующего года функция для интервала типа год ("yyyy") возвращает значение 1, хотя разница между датами составляет всего один день
DatePart(интервал, дата [,первый_день [, первая_неделя]])
Возвращает значение, содержащее компонент даты, указанный в параметре интервал. Например, номер месяца, номер недели, номер дня в году и т.п.
DateAdd(интервал, количество, дата)
Возвращает новую дату, которая получена путем добавления к указанной дате заданного количества интервалов. Например, DateAdd("m", 1, "31-янв-04") возвратит дату "29-фев-04"
DateSerial(год, месяц, день)
Возвращает дату во внутреннем представлении системы, полученную из отдельных компонентов (года, месяца и дня). При указании аргументов функции можно использовать выражения
TimeSerial(часы, минуты, секунды)
Возвращает время во внутреннем представлении системы, полученное из отдельных компонентов (часов, минут и секунд). Аргументы могут быть выражениями
Для преобразования значений различных типов в строку можно использовать функции, приведенные в табл. 12.4.
Таблица 12.4
Функции преобразования числовых значений в строку
Функция
Значение
Str(число)
Возвращает значение, являющееся строковым представлением числа
Format(выражение [, формат])
Возвращает значение, отформатированное согласно инструкциям, заданным в описании формата. Можно представить числовые значения как дату, время, денежное значение или в специальном формате
CStr(выражение)
Возвращаемое значение зависит от выражения. Если выражение имеет тип Boolean, то возвращается строка "True" или "False". Если тип выражения Date, то – строка в кратком системном формате даты. Для других числовых типов возвращается строка, содержащая число
Обратное преобразование из строкового представления в другой тип можно выполнить с помощью функций CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, CSng, Cvar. Они преобразуют выражение, заданное в качестве аргумента, в значение соответствующего типа. Выражение может быть строковым или числовым. Можно также использовать функцию Val(строка), которая возвращает для заданного аргумента числовое значение с подходящим типом данных.
При преобразовании числовых данных в строку и обратно следует учитывать, что не все функции воспринимают национальные настройки. Подробнее об этом можно прочитать в справочной системе. Кроме того, во многих случаях преобразования значений из одного типа в другой выполняются автоматически, и можно вообще не использовать функции явного преобразования типов.
Функции для работы со строками, имеющиеся в VBA, приведены в табл. 12.5.