Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры ПОП.doc
Скачиваний:
4
Добавлен:
27.10.2018
Размер:
284.67 Кб
Скачать

9. Встроенные функции для работы с датой и временем.

  Без функций  даты и времени обычно обойтись очень  сложно.

  Date(), Time(), Now() — возвращают  соответственно  текущую  системную дату, текущее системное время и дату и время одновременно. Установить их  можно  при  помощи  одноименного  соответствующего  оператора,  например, так: Date = #5/12/2004#

  DateAdd() — добавляет к дате указанное количество лет, кварталов, месяцев и так далее до секунд.

  DateDiff() — возвращает разницу между датами (в единицах от лет до секунд).

  DatePart() — очень важная функция, которая возвращает указанную вами часть даты (например, только год, только месяц или только день недели).

  DateSerial() — создает значение даты на основе передаваемых символьных  значений.  То  же  самое делает  функция DateValue(),  но  при другом формате принимаемых значений. Аналогичным образом (для времени) работают TimeSerial() и TimeValue().

  Day() (а также Year(),  Month(),  Weekday(),  Hour(),  Minute(),  Second()) — специализированные заменители функции DatePart(), которые возвращают нужную вам часть даты.

  MonthName() — возвращает  имя месяца  словами  по  его  номеру.  Возвращаемое значение зависит от региональных настроек. Если они русские, то вернется русское название месяца.

  Timer() — возвращает количество секунд, прошедших с полуночи. Если  нужно получить дополнительные  возможности  работы  с  датой/временем, то в  вашем  распоряжении объектная модель Outlook.  Например,  при  помощи  ее  можно  получить  информацию  о  праздниках  и  рабо-

  чих/нерабочих  днях большинства стран мира.   

 

10. Встроенные функции для форматирования данных.

  Для форматирования данных в вашем распоряжении функция  Format() и целый набор функций, которые начинаются  с префикса  Format... (FormatNumber(), FormatCurrency(), FormatDateTime() и т. п.) Синтаксис функции Format() выглядит так:

  Format(выражение, "формат")

  Эта функция  принимает выражение и форматирует его в соответствии с параметром формат.

  Несколько примеров использования Format() (посмотрите сами, что получится):

  Format(15/20, "Percent")

  Format(Date, "Long Date")

  Format(1, "On/Off")

  Format(334.9, "###0.00")

  Format("Просто текст", ">" )

  Для остальных  функций Format... то, что они делают, понятно из названий. Особая ситуация — когда нужно, чтобы дата  отображалась на компьютерах пользователей  единообразно  вне  зависимости  от  региональных  настроек. В качестве решения можно использовать функцию  DatePart(),  при помощи

  ее  перевести  дату "по  частям"  в  текстовый  формат  и  склеить нужным  образом. 

11. Классы и объекты на vba.

  «Программирование в классах» является основным способом работы современного программирования. Класс является обобщением понятия типа данных и задает свойства и поведение объектов класса – экземпляров класса. Каждый объект принадлежит некоторому классу. Отношение между объектом и его классом такое же, как между переменной и ее типом. Класс - это объединение данных и обрабатывающих их процедур и функций. Данные называются также переменными класса, а процедуры и функции - методами класса. Переменные определяют свойства объекта, а совокупность их значений – состояние объекта.   

  Сам Office 2000 полностью построен на классах и работе с объектами этих классов, здесь все, начиная от приложения и кончая отдельным символом, рассматривается как объект некоторого класса. Профессиональный прикладной программист, работающий в некоторой проблемной области и решающий разнообразные задачи из этой области, как правило, начинает с создания классов, описывающих специфику данной проблемной области.   

  VBA позволяет программисту создавать собственные классы, которые теперь могут обладать собственными событиями и возможностью реализации интерфейсов, определенных другими классами. Синтаксически классы в VBA оформляются в виде модуля класса. Поэтому начинать создание класса в Редакторе Visual Basic нужно с выбора в меню Insert пункта Class Module. Модуль состоит из двух разделов: объявлений и методов. В первом из них естественным образом описываются свойства класса, а во втором - его методы. И здесь действуют спецификаторы области действия Public и Private. Public - свойства и Public –методы составляют интерфейс класса. Только к этим свойствам и методам можно обращаться при работе с объектами класса, объявленными в других модулях, где класс является видимым.   

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

Property Let позволяет установить новое значение свойства, выполняя операцию Write (присваивание).

Property Set выполняет те же действия, что и предыдущая процедура, но применима к объектам.

Property Get является дополнительной к предыдущим процедурам, выполняя операцию чтения Read.   

  В VBA есть разумная стратегия начальной инициализации переменных - роль конструктора по умолчанию в классах VBA играет обработчик события Initialize. Роль деструктора играет обработчик события Terminate (обработчик этого события пишется значительно реже, поскольку в момент его вызова объект и так корректно будет уничтожен).   

  Любая процедура (Sub) или функция (Function), описанная в разделе методов класса, является его методом.