Форматирование данных
VBA-функции Format форматируют данные любого из встроенных типов по указанному образцу для отображения их на экране или на печати. С помощью этих функций очень просто отображать значения дат в виде короткого (19.12.99), среднего (19-дек-99) или длинного формата даты (19 декабря 1999 г.), или любого из нескольких других предлагаемых VBA форматов (VBA хранит значения дат в виде совершенно неудобоваримых чисел). Подобные трюки можно выполнять и с числовыми значениями, и со строками. На самом деле Format конвертирует предложенное вами значение в новую строку, добавляя в нее символы, необходимые для представления данных в нужном виде.
Функция Format предлагается и в VBA 5, и в VBA 6, однако VBA 6 может похвастать еще четырьмя новыми родственными функциями, каждая из которых предназначена для своего конкретного типа данных.
Работа с функцией Format
Функция Format, имеющаяся в VBA 5 и VBA 6,- невероятно гибкая. Она применима практически к любым типам данных и имеет настраиваемый вывод- если ни один из встроенных форматов не подойдет, вы можете создать свой, какой пожелаете.
В упрощенной форме синтаксис функции Format выглядит так (здесь опущены два необязательных и редко используемых аргумента, относящихся к датам, - о них вы можете узнать из справки VBA):
Format(выражение,"формат")
Аргумент выражение должен содержать выражение, представляющее число, строку или дату, которые вы хотите форматировать (т.е. отобразить в подходящей форме). Ясно, что этот аргумент обязателен.
Аргумент формат и является тем аргументом, который выполняет реальную работу. Как видно из следующего примера, аргумент формат нужно заключить в кавычки.
Чтобы использовать функцию Format, присвойте ее переменной либо свойствам Value или Caption элемента управления в форме. Например, оператор
lblDateMessage.Caption = "Сегодня " & _
Format(Now, "Long Date")
отображает текст "Сегодня 19 март 2001 г." в виде текста надписи элемента управления lblDateMessage (в предположении, что сегодня 19 марта 2001 года).
Использование встроенных форматов для функции Format
В табл. 11.2 приводятся именованные встроенные форматы для данных различных типов в VBA. Используйте их как аргумент в функции Format. He забудьте при этом заключить в кавычки имя выбранного вами формата (из первого столбца таблицы).
Таблица 11.2. Именованные форматы для использования с функцией Format
Имя формата | Описание вывода | Пример (соответствует установке языка Русский в панели управления) |
Числовой | ||
General Number | Число без выделения разрядов тысяч | 2001,5599 |
Currency | Число с выделением разрядов тысяч и с двумя знаками после десятичного разделителя, а также с символом денежной единицы | 2 001,56р. |
Fixed | Как минимум один знак слева и два знака справа от десятичного разделителя (без выделения разрядов тысяч) |