- •Основы офисного программирования и язык 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
- •Наследование интерфейсов
- •Полиморфизм семейства классов
- •Проект "Люди и Машины"
Основы офисного программирования и язык vba
Об Office 2000
Признаюсь сразу, - мне нравится работать в среде Office. Она отвечает моим давним убеждениям о том, какой должна быть среда программирования. Прежде всего, она должна включать хороший язык программирования, на котором программист может реализовывать свои замыслы, создавать свои объекты, строить свой мир. Вместе с тем, такая среда должна позволять легко и просто включать в свою работу специальные средства, созданные в программистском мире, - базы данных, электронные таблицы, графические и текстовые редакторы, экспертные системы. Почти все, что я перечислил, и многое другое доступно в среде Office уже сегодня, завтра этих возможностей будет больше.
Я начал работать в этой среде с момента появления Office 97 и уже более полугода работаю в среде Office 2000, участвуя в программе бета - тестирования. Знакомство с возможностями Office 2000, общение с разработчиками убеждает меня и в том, что Office развивается в нужном, магистральном направлении программирования. Что бы Вы ни делали, с какими документами Вы ни работали, Вас окружает единая среда с единым языком программирования. И, что немаловажно, это среда для всех, - в ней работают программисты-разработчики и конечные пользователи - люди разных профессий и квалификации. Специализация конечных продуктов, которая, конечно же, необходима, достигается с программистской точки зрения совершенно естественно - за счет использования соответствующих классов объектов. Объектный подход к построению среды, сетевые технологии, активно развиваемая технология компонентного программирования, все это и многое другое еще и еще раз убеждают меня в том, что Офисное программирование будет сопровождать нас в XXI веке.
Вот небольшой штрих. Известная фирма Corel заключила соглашение с Microsoft о встраивании VBA во все свои продукты, назвав эту технологию "лучшей в мире", позволяющей настроить документ в соответствии с запросами конечного пользователя. Простим, несомненно, присутствующий рекламный налет, но, в целом, принятое решение представляется естественным, и я могу даже согласиться с подобной характеристикой технологии.
В каком же направлении развивается Office 2000? Точнее сказать, в каких направлениях, поскольку об одном направлении для такой многоплановой системы говорить не приходится. Перечислим лишь некоторые из них:
-
Это направление обычно называют уменьшение совместной стоимости владения. Программистов - разработчиков такие вещи обычно мало волнуют, но для организаций, использующих сетевой вариант системы, крайне важно уменьшить затраты на развертывание и поддержку системы на всех компьютерах. С этой целью в Ресурсы Office 2000 входят специальные инструментальные средства, облегчающие этот процесс.
-
Второе направление можно назвать "Офис и Интернет". Сегодня, когда коллективная работа в сети становится нормой, естественно, что система должна поддерживать работу в сети. Главное в этом направлении поддержка работы не только в локальной сети предприятия, но в интрасетях и Интернете. Опубликовать любой документ Office 2000 в Интернете становится таким же простым делом, как просто напечатать его. Преобразование и хранение документов в HTML - формате, так же как и чтение таких документов, не представляет теперь проблем. Более важно, что над такими опубликованными документами возможна совместная работа в сети. Отметим и специальные WEB - компоненты, обладающие возможностями электронных таблиц, диаграмм, сводных таблиц, позволяющие делать с такими документами многое из того, что можно, например, делать в Excel.
-
Билл Гейтс ввел термин "Цифровая Нервная Система" (Digital Nervous Systems) предприятия. Этот термин становится популярным, по крайней мере в литературе от Microsoft. Надо отдать должное, термин удачный, он вызывает правильные ассоциации. Можно зримо представить информационную нервную систему. Предприятие должно иметь базы данных, хранилища данных, узлы по обработке этой информации, которая должна легко перемещаться и быть доступной в каждом узле. В результате обработки информации должны создаваться видимые образы (графики, диаграммы, отчеты) и все эти документы должны быть доступны для коллективной работы. Офису в этой нервной системе отводится одна из ключевых ролей по обработке информации. Так вот в Office 2000 одним из нововведений является установление более тесной связи с другим продуктом Microsoft - SQL Server 7.0. Последний отвечает за эффективное хранение, поиск, архивацию, аналитическую обработку данных, - за все то, что называется клиент - серверными технологиями работы. Тесное взаимодействие этих двух систем плюс возможности работы в сети Интернет практически и означает для предприятия реализацию ЦНС.
-
Если говорить о языке программирования VBA, то и он продолжает активно развиваться, Появились новые возможности создания семейства классов, связанных наследованием интерфейсов, что в полной мере позволяет реализовать такое важное свойство семейства классов как полиморфизм. Можно называть еще и многие другие полезные нововведения, но мы ограничимся только одним. Теперь внутри Office 2000 стало возможным создавать независимо работающие компоненты VBA COM Add - ins. Это еще один из шагов в развитии компонентного программирования.