
- •1. Макросы и технологии управления запуском пользовательских процедур.
- •2. Основные синтаксические принципы vba. Переменные и константы (область видимости переменных, правила выбора идентификатора)
- •3. Типы данных. Принципы выбора типа данных. Встроенные функции преобразования и проверки типов данных.
- •4. Управляющие конструкции vba. Функции заменители синтаксических конструкций.
- •5. Массивы. Встроенные функции для работы с массивами.
- •Динамические массивы
- •6.Пользовательские функции для массивов рабочего листа Excel.
- •7. Особенности разработки пользовательских функций на vba. Способ передачи параметров.
- •8. Встроенные функции для работы со строковыми и числовыми значениями.
- •9. Встроенные функции для работы с датой и временем.
- •10. Встроенные функции для форматирования данных.
- •11. Классы и объекты на vba.
- •12.Технологии управления приложением и разработка пользовательских событий.
- •13.Технология построения обработчиков событий пользовательских классов. Объявление WithEvents.
- •14. Использование объекта Err и обработка ошибок.
- •15. Разработка шаблона с диалоговым окном для ввода данных. Использование пользовательских форм для управления приложением.
- •16. Использование объектов Range и Selection для управления приложением. Коллекции объектов.
- •17. Word : Объектная модель. Объект Application (свойства, методы)
- •18. Word : коллекция Documents и объект Document
- •19. Объект Bookmark.
- •20. Excel : объектная модель. Объект Application ( свойства, методы ).
- •21. Excel: коллекция WorkBooks и объект WorkSheet
- •22. Коллекция Sheets. Объект WorkSheets (свойства, методы).
- •23. Коллекция QueryTables, объект QueryTable.
- •24. Сводные таблицы.
- •26. Основные этапы разработки приложений в Access
- •27. Access : объектная модель. Объект Application (свойства, методы)
- •28. Объект DoCmd
- •29. Создание пользовательских форм в Access . Свойства, методы, события.
- •30. Отчеты в Access
- •31. Outlook. Объект Application (свойства, методы).
- •32. Outlook. Объект NameSpace.
- •34. Коллeкция Folders.
- •35. Коллекция Items и объекты элементов Outlook
- •36. Система объектов в PowerPoint.
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), описанная в разделе методов класса, является его методом.