- •Основы офисного программирования и язык vba
- •Офисное программирование
- •Состав Office 2000
- •Инсталляция Office 2000
- •Содержимое диска "Resource Kit"
- •Документ Issues
- •Документ ork9
- •Папка Tools
- •Содержимое диска "Language Pack"
- •Об этой книге и ...
- •Моя благодарность
- •Vba и объекты. Обзор
- •Библиотека объектов Office 2000 - каркас приложений
- •Встраивание вместо наследования
- •Построение каркаса документа
- •Библиотека объектов Office 2000 и Object Browser
- •Объекты Application
- •Свойства-участники
- •Вторая группа терминальных свойств
- •Методы объектов Application
- •События объектов Application
- •Совместная работа приложений. Создание объектов Application. Раннее и позднее связывание
- •Коллекции в Office 2000
- •Коллекции объектов Office 2000
- •Коллекции Excel: Workbooks, Sheets
- •Коллекция Workbooks
- •Коллекция Sheets
- •Коллекции Word: Documents, Paragraphs и другие
- •Коллекция Documents
- •Коллекция Paragraphs
- •Коллекция Sections
- •Коллекции Characters, Words, Sentences
- •Коллекции и конструкция For Each … Next
- •Объекты Range
- •Что определяет объект Range?
- •Метод Range
- •Объекты Selection
- •Метод Select и свойство Selection
- •Активные объекты и метод Activate
- •Проектирование документов
- •Документ и его программный проект
- •Модули - обработчики событий
- •Стандартные модули
- •Модули классов
- •Модуль макросов
- •Структура модуля. Окно проекта и Окно кода
- •Окно проекта
- •Свойства проекта
- •Имя проекта
- •Защита проекта
- •Окно кода
- •Еще раз о "переиспользовании" модулей
- •Проект и область видимости
- •Система документов и ее проект
- •Организация системы документов
- •Как организуются ссылки между проектами
- •Обмен информацией между документами
- •Система документов One - Two - Three
- •Типы данных
- •Простые типы данных.
- •Объявление переменных и констант простых типов
- •Синтаксис объявления простых переменных
- •Объявления по умолчанию
- •Константы
- •Массивы
- •Динамические массивы
- •Записи и тип, определенный программистом
- •Что можно делать с записями?
- •Раздел объявлений
- •Раздел опций
- •Разделы констант, типов и переменных
- •Раздел Declare
- •Правила именования
- •Типы и классы Еще раз о понятии "класс"
- •Что нового в классах "Office 2000"
- •Создание класса "Личность"
- •Объекты и переменные
- •Объекты, класс которых определен пользователем.
- •Объекты "родного" приложения
- •ActiveX-объекты
- •Модуль класса Свойства
- •Сокрытие свойств
- •Конструкторы и деструкторы. Стандартные события
- •Стандартные события Initialize и Terminate
- •Два конструктора класса Rational
- •Процедуры - свойства
- •Как создаются процедуры- свойства
- •Синтаксис Let, Get и Set
- •Классы, как упаковка
- •Семейство классов и процедуры - свойства
- •Friend методы
- •События
- •Классы, объекты With Events и обработчики событий
- •Модуль класса с объектом WithEvents
- •Объект WithEvents
- •События собственных классов
- •Как создать класс с событиями
- •Как зажигаются события
- •Где и как следует создавать обработчики событий для экземпляров класса
- •Связывание объектов
- •Реальные объекты и инициирование событий
- •Семейство классов и реализация интерфейсов
- •Наследование
- •Виртуальные методы и полиморфизм
- •Абстрактные классы
- •Наследование и полиморфизм в Office 2000
- •Наследование интерфейсов
- •Полиморфизм семейства классов
- •Проект "Люди и Машины"
Построение каркаса документа
Мы уже сказали, что совокупность библиотек классов Office 2000 представляет каркас документов, которые могут порождаться в этой программной среде. Давайте же рассмотрим, как создается каркас одного документа. Обычно, это тривиальная операция, выполняемая почти автоматически. В свое время, рассматривая программирование в среде Office 97, мы не считали необходимым введения самого термина "каркас документа". В Office 2000 возросли возможности создания разнообразных каркасов, потому стоит ввести и сам термин и обратить на это особое внимание.
Итак, всякий раз, когда открывается новый документ в одном из приложений Office 2000, например Word, Excel или Power Point , автоматически создается каркас этого документа. Это означает, что из всей совокупности библиотек выбираются те библиотеки, которые и будут составлять каркас этого документа. И это означает, что все объекты, классы которых определены в этих библиотеках, будут доступны в данном документе.
Какие же библиотеки входят в каркас документа по умолчанию? Определяющую роль играет то, в каком приложении Вы создаете документ. В каркас всегда входит библиотека, задающая это приложение, - Word 9, Excel 9 или тот же Power Point 9. В состав этой библиотеки входит корневой объект Application (Word9.Application, Excel9.Application и т.д.). Этот корневой объект и определяет основную структуру документа. Но помимо этой библиотеки в каркас всегда входят и другие библиотеки. Взгляните на каркас по умолчанию документа Word:
увеличить изображение Рис. 1.2. Каркас по умолчанию документа Word
Как можно видеть, в каркас входят кроме библиотеки Word еще три библиотеки и два проекта:
-
Word - библиотека, задающая основу документов Word. Здесь хранится корневой объект Application и все классы объектов, вложенных в корневой объект.
-
Office - библиотека объектов, общих для всех приложений Office 2000. Здесь находятся классы, задающие Помощника (объект Assistant и все классы, связанные с ним). Здесь же находятся классы, определяющие инструментальные панели - CommandBar и классы других общих объектов. В частности, появился новый объект, которого не было в предыдущей версии - Мастер Ответов (Answer Wizard) и его файлы.
-
Stdole - библиотека классов, позволяющая работать с OLE - объектами и реализовать Автоматизацию.
-
VBA - библиотека классов, связанных с языком VBA. Здесь хранятся все стандартные функции, встроенные в язык, и многое другое.
-
Project - проект по умолчанию, связанный с документом. Классы, которые могут программистом создаваться в этом проекте, методы, свойства, - все это доступно для просмотра, так же, как и объекты классов, встроенных в стандартные библиотеки.
-
Normal - проект, доступный для всех документов Word. Здесь могут храниться функции и классы, используемые всеми документами.
Состав каркаса для документов, открываемых в Excel или Power Point, почти такой же. Естественно, библиотека Word заменяется библиотекой соответствующего приложения. Кроме того, отсутствует проект Normal, характерный только для документов Word.
До сих пор речь шла о каркасе, создаваемом по умолчанию. Но вся прелесть в том, что этот каркас можно существенно изменить, добавив в документ новые свойства. Для этого достаточно включить в состав каркаса и другие библиотеки, составляющие совокупность библиотек Office 2000. Набор этих возможностей, а, следовательно, и число таких дополнительно поставляемых библиотек в Office 2000 существенно выросло по сравнению с предыдущей версией.
А теперь о том, как это делается. Прежде всего, заметим, что расширение каркаса делается руками, а не программно. Для того чтобы добавить в документ новые возможности, необходимо вначале войти в режим редактора программного проекта, для чего достаточно из меню Tools | Macro выбрать пункт Visual Basic Editor или нажать комбинацию клавиш Alt + F11. Затем уже в Редакторе из меню Tools следует выбрать пункт References и в появившемся списке всех возможных библиотек, включить те, которые отвечают Вашим потребностям. На рис. 1.3 показан процесс подключения к документу Word новых библиотек.
Рис. 1.3. Расширение возможностей каркаса документа
В частности, мы подключили библиотеки объектов трех приложений - Outlook, Access и Excel, библиотеку с WEB - компонентами, Мастер этих компонент и элемент управления для работы в Internet. В результате каркас документа существенно обновился, и наш документ теперь обладает потенциально большими возможностями, чем документ, создаваемый по умолчанию. В этом документе можно организовать совместную работу четырех приложений Office 2000, работать с WEB - компонентами и использовать возможности встроенного элемента управления при работе над документом в Internet. Конечно, каркас обеспечивает только потенциальную возможность, чтобы все заработало, нужно многое сделать, наполняя каркас плотью. Например, необходимо описать и создать соответствующие объекты Application для каждого из совместно работающих приложений, прежде чем начать с ними работать.
На рис. 1.3 можно увидеть лишь небольшую часть всей совокупности библиотек (их несколько десятков), доступных в Office 2000. Профессионалу знать их, конечно, совершенно необходимо. Но знакомство с ними, хотя бы шапочное, выходит за пределы этой книги, посвященной VBA . О них и об объектах, в них хранящихся, пойдет разговор в других книгах, связанных общей темой офисного программирования в среде Office 2000.
Завершая разговор о каркасе документа, нам остается сделать два важных замечания. Во-первых, заметим, что включение ссылок на новые библиотеки и соответствующее расширение каркаса документа немедленно отражается при просмотре объектов документа. Взгляните на рис. 1.4 , где показано, что теперь все объекты, потенциально включенные в состав документа, стали доступными для просмотра и получения справки.
увеличить изображение Рис. 1.4. Окно просмотра объектов каркаса документа
Во-вторых, обратим Ваше внимание на то, что технология работы в Office 2000 рекомендует создавать документы на основе некоторого шаблона. Поэтому, однажды создав документ с требуемым набором возможностей и сохранив его в качестве шаблона, в последующем можно открывать новые документы на основе этого шаблона, не задумываясь уже о том, как и какие библиотеки следует подключать.