Дата в виде, заданном в панели управления для полного формата даты

15 Март 2001 г.

Medium Date

Дата в виде, заданном в панели для среднего формата даты

управления 15-мар-01

Short Date

Дата в виде, заданном в панели управления для краткого формата даты

15.03.01

Long Time

Время (часы, минуты и секунды) в виде, заданном в панели управления для полного формата времени

17:27:45

Medium Time

Время (часы и минуты) в 12-часовом формате с метками до/после полудня, заданными в панели управления

05:27

Short Time

Время (часы и минуты) в 24-часовом формате

17:27

Можно создать свои собственные форматы, собрав их из символов, имеющих специальные значения для аргумента формат. Например, чтобы отобразить строки текста символами верхнего или нижнего регистров, используйте функцию Format с аргументами ">" или "<" соответственно. За неимением места я не могу описывать все эти специальные символы- вы найдете их самостоятельно, открыв сначала раздел Format Function (функция Format ) в файле справки VBA, а затем щелкнув на ссылке See Also (см. также) и просмотрев разделы User-defined Formats (пользовательские форматы). Но чтобы не совсем вас разочаровывать, я привожу следующий пример с парой пользовательских форматов в действии. Кроме того, этот же пример иллюстрирует использование еще одной встроенной функции VBA - Iif:

MsgBox "Сейчас " & Format(Now, "h:nn") & _

". Это время " & Iif(Format(Now, "a/p") = "a", _

"до обеда.", "после обеда.")

Если вы выполните этот программный код до обеда, оператор отобразит на экране строку типа "Сейчас 9:07. Это время до обеда". После обеда вы получите нечто похожее на сообщение, показанное на рис. 11.1. (Кстати, функция MsgBox обсуждается ниже в этой же главе в разделе "Отображение окон сообщений".)

Рис. 11.1. Окно сообщения

Теперь объяснения. В первой функции Format аргументом формат является "h:nn".

Символ h соответствует стандарту отображения часа одной цифрой, когда имеется в виду время до 10:00. После двоеточия пп задает отображение минут с незначащим нулем, если прошло меньше 10 минут после начала часа.

Вторая из используемых функций Format вложена в функцию Iif. Ввиду того, что аргументом формат в данном случае является "а/р", возвращаемыми значениями будут просто либо "а", либо "р", в зависимости от того, превышает время 12 часов дня или нет. Обычно а/р используется как компонент более длинной строки аргумента формат, но в данном случае результат функции видеть не требуется, и он обрабатывается функцией Iif.

Функция Iif - это миниатюрная версия оператора If... Then (обсуждаемого в деталях в главе 32). Синтаксис этой функции следующий:

Вы читаете VBA для чайников
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату