- •Основы офисного программирования и язык 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 - каркас приложений
В тех книгах, которые мы написали последнее время по Visual C++ и по Офисному программированию, большая часть достаточно солидного введения посвящалась основам объектно-ориентированного программирования. Мы полагаем, что каждый программист должен владеть этим аппаратом, поскольку без четкого осознания таких понятий, как класс, интерфейс класса, полиморфизм, наследование, встраивание, невозможно проектирование и разработка сколь либо серьезной системы документов. В этой книге мы не будем останавливаться на этих понятиях, полагая, что читатели с ними знакомы, если же нет, то можно порекомендовать обратиться к нашим книгам по Visual C++ и Офисному программированию, или к любым другим, где эти вопросы хорошо изложены.
Но на одном термине стоит все-таки остановиться подробнее. Речь пойдет о понимании совокупности библиотек классов, как каркаса приложений (каркаса документов). Когда программист вводит собственный класс объектов, то чаще всего он рассматривает его, как специфический тип данных, расширяющий возможности типов данных, встроенных в язык. Первые библиотеки классов, предоставляемые системой программисту, по существу, представляли расширенный набор типов данных. Но затем стало понятным, что объектный подход может быть полезным и при построении самого приложения. Само приложение стало рассматриваться, как совокупность объектов со своими свойствами, методами и событиями. Более того, стало ясно, что можно строить приложения различной архитектуры и стандартных скелетов приложений не так уже и много. При работе в среде Visual C++ , например, классической является архитектура Документ - Облик (Document -View).
В современных программных средах большую часть классов, входящих в библиотеку (совокупность библиотек), составляют классы, предназначенные для построения самого приложения, его основы или каркаса. В соответствии с этим такие библиотеки называются каркасом приложений (FrameWork Applications). Такую роль играют библиотеки Visual C++, Delphi и других программных сред.
Как же обстоит дело в Office 2000? Для программиста Office 2000 - это ничто иное, как обычная совокупность библиотек классов. И так же, как и для других программных сред, их классы представляют собой каркас приложений, или, что может быть точнее с содержательной точки зрения, - каркас документов.
Дело в том, что изменились цели программиста, работающего в среде Office 2000. Ранее целью программиста было создание приложения, понимаемого как программа, программный проект. Теперь программист является одним из участников (возможно единственным) создания системы документов. Документ, а не программа, становится целью разработки. Программный проект - это лишь часть документа. В Office 2000 программный проект неразрывно связан с документом, хранится, как часть документа, и не может существовать независимо от него. Отсюда становится понятным, что и библиотека классов Office 2000 содержит каркасы основных документов - текстовых документов, документов, основу которых составляют электронные таблицы, презентации, базы данных. Всякий раз, когда создается новый документ, его каркас составляют объекты библиотек, отобранных для построения этого конкретного каркаса документа.
Рассмотрим еще один важный аспект, связанный с тем, как устроено семейство классов, составляющих библиотеку.