- •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.
1. Макросы и технологии управления запуском пользовательских процедур.
Поскольку действия пользователя транслируются в действия над объектами Office, то нетрудно, включив MacroRecorder, записать нужные действия и создать макрос — программу на языке VBA, описывающую действия пользователя в терминах работы с объектами.
Созданный пользователем макрос – это и есть программа, размещаемая в модуле проекта. Различают 2 способа разработки макроса:
а) использование MacroRecorderа,
(заметим, что в Excel макросы могут записываться с абсолютной или относительной адресацией);
б) написание макроса "с нуля", используя язык программирования VBA.
Проекты VBA выполняются только с помощью приложения, которое поддерживает VBA. Для перехода в среду разработки достаточно нажать комбинацию клавиш Alt+F11 или выполнить команду Сервис > Макрос > Редактор Visual Basic (Tools > Macros > Visual Basic Editor).
Пользовательские функции и процедуры создаются в модуле проекта VBA, могут использоваться встроенные диалоговые окна для ввода и отображения информации.
2. Основные синтаксические принципы vba. Переменные и константы (область видимости переменных, правила выбора идентификатора)
Переменной называется имя, определяющее область памяти для хранения величины, которая может изменяться во время выполнения программы.
Синтаксис объявления переменных: {Dim | Public | Private | Static} VariableName [As] [Type]
VBA не требует обязательного объявления переменных. В случае если переменная не была объявлена, ей автоматически присваивается тип Variant. Этот тип является универсальным и может содержать данные различных подтипов: Integer, Long, String и т. п.
DIM A as INTEGER
DIM B, C, D as SINGLE ‘переменные B и C будут иметь тип Variant
DIM E as VARIANT
Переменные можно явно объявить и использовать, а можно использовать и без объявления.
При объявлении переменной определяется ее тип и область видимости — область, где имя переменной видимо и, значит, возможен доступ к ее значению. Важно понимать, что переменные можно объявлять на двух уровнях — уровне процедуры и уровне модуля. Для объявлeния пеpeмeнныx иcпoльзуются операторы Dim, Public, Private и Static. Первый можно использовать на обоих уровнях, Public и Private — на уровне модуля, Static — только на уровне процедуры.
Переменные, объявленные на уровне процедуры, называются локальными по отношению к данной процедуре. Их областью видимости является только та процедура, в которой они объявлены. Локальные переменные можно объявлять в любом месте процедуры, но до выполняемых операторов, использующих эти переменные.
Переменные уровня модуля являются глобальными. Они объявляются в разделе Declarations, который есть у каждого модуля. Область видимости глобальных переменных может распространяться:
• на все процедуры одного модуля, в котором они объявлены; такие глобальные переменные, называемые закрытыми (Private), должны быть объявлены на уровне модуля либо оператором Private либо оператором Dim;
• на все приложение — все процедуры всех модулей данного приложения; такие глобальные переменные, называемые открытыми (Public), должны быть объявлены оператором Public.
Локальные переменные уровня процедуры могут быть объявлены оператором Static, что делает их статическими. У таких переменных увеличивается время жизни.
Для каждого простого типа есть соответствующие ему константы. Синтаксис построения константы задается так, чтобы по ее значению однозначно можно было приписать ей тип. Поэтому в отличие от переменных константы могут не объявляться, не иметь имени и появляться там, где надо, заданные своими значениями. Константы объявляют с помощью оператора: Const: <const> = <значение>,
где <const> — имя константы; <значение> — значение константы.
Для констант существует понятие сфера действия:
Глобальные константы имеют ключевое слово Public: Public Const Datel=#12.12.96# ,
Public Const pi As Double = 3.141593
локальные константы: ConstDate2=#12.12.97#
Как и переменные, именованные константы можно объявлять на уровне процедуры или модуля. В первом случае используется только ключевое слово Const, во втором — дополнительно можно задать Public или Private, позволяющие объявить константу общей для всех модулей или закрытой. По умолчанию глобальные константы имеют статус Private.У локальных констант, объявленных в процедурах, областью видимости является процедура. Если не определить тип константы, он будет восстановлен по значению константного выражения. Но иногда лучше это делать самому.