- •Основы офисного программирования и язык 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
- •Наследование интерфейсов
- •Полиморфизм семейства классов
- •Проект "Люди и Машины"
Объекты Application
Всех объектов в Office 2000 не перечесть, но знать главные - обязательно. Давайте начнем знакомство с корней - объектов Application. Заодно посмотрим, что нового появилось в структуре этих объектов в сравнении с предыдущей версией. Чтобы облегчить и систематизировать нашу работу, мы по отдельности рассмотрим свойства - участники, терминальные свойства, методы и события этих объектов.
Свойства-участники
Свойства, представляющие вложенные объекты, называют свойствами-участниками. Если X является свойством - участником объекта Application, то обращение к свойству X возвращает ссылку на объект X. Обращение Application.X.Y.Z, где X, Y и Z - свойства-участники, позволяет добраться до объекта Z, находящегося на третьем уровне вложенности. Обычно цепочка именования начинается спецификатором (объектом) Application, но иногда его можно опустить. Некоторые свойства и методы объекта Application относятся к глобальным. Для них спецификатор Application разрешается опускать, непосредственно именуя глобальный элемент. Вот пример нескольких обращений к элементам объекта Application:
Application.ActiveDocument ' Можно короче: ActiveDocument
Application.ActiveWorkbook.ActiveSheet.Range("A1") = "Hi"' Можно так:
ActiveSheet.Range ("A2") = "By-By" ' Можно и так:
Range("A3") = "I'm glad to see you" 'Можно даже так!
Application.Quit 'Только так! Quit не является глобальным методом.
Познакомимся на верхнем уровне со структурой приложений и посмотрим, как она изменилась при переходе от Office 97 к Office 2000. На рис. 1.6 , рис. 1.7 , рис. 1.8 и рис. 1.9 показано, как выглядели объекты Application четырех основных приложений в Office 97. Что можно отметить, анализируя эту структуру:
-
Среди объектов, вложенных в Application, есть основные, задающие специфику приложения, - это документы Word (коллекция объектов Document), рабочие книги Excel (коллекция объектов WorkBook), презентации PowerPoint (коллекция объектов Presentation), отчеты Access (коллекция объектов Report). Позже мы познакомимся с ними подробнее, сейчас же отметим только, что каждый из них организован не менее сложно, чем их родитель - объект Application. Кроме основных объектов есть и вспомогательные объекты, специфичные для данного приложения. Например, у приложения Word это коллекции CustomDictionaries, Languages - коллекции пользовательских словарей и языков, используемых в документах Word.
-
Есть объекты, общие для всех приложений. К ним относятся коллекции, CommandBars, Dialogs, Windows объекты Assistant, FileSearch, VBE. Эти объекты хранятся в библиотеке Office, присоединяемой к каркасу каждого документа. Они определяют такие общие для всех документов свойства, как возможность работы с инструментальными панелями, содержащих меню, элементы управления и кнопки; использование стандартных диалогов в документах и другие свойства, задающие, в целом, единый интерфейс документов в среде Office 2000.
-
На общем фоне в Office 97 выделяется объект Access.Application. Структура его бедна. У него нет общих объектов, весьма ограничено число вспомогательных объектов, определяющих специфику данного приложения.
увеличить изображение Рис. 1.6.
Рис. 1.7.
увеличить изображение Рис. 1.8.
Рис. 1.9.
Что же нового появилось в Office 2000? Прежде всего, следует отметить, что все свойства, которыми объекты обладали, у них остались. Но, конечно, появились и новые свойства. Ниже в таблице показаны основные, новые свойства, встроенные в объекты Application в Office 2000.
Таблица 1.1. Новые свойства объектов Application в Office 2000 |
||||
Свойства |
Word |
Excel |
Power Point |
Access |
AnswerWizard |
+ |
+ |
+ |
+ |
COMAddIns |
+ |
+ |
+ |
+ |
LanguageSettings |
+ |
+ |
+ |
+ |
EmailOptions |
+ |
- |
- |
- |
DefaultWebOptions |
- |
+ |
+ |
- |
MsoDebugOptions |
- |
- |
+ |
- |
Появилась возможность подключения COM - объектов, расширяющих функциональные возможности документов; коллекция COMAddIns стала частью библиотеки общих объектов Office 2000. Напомним, что ранее каждое из приложений имело свою специфическую для данного приложения коллекцию AddIns. Каждый из элементов AddIn дополнял приложение новыми функциями, но мог работать только в рамках одного приложения. Этим коллекциям и компонентному программированию будет посвящена отдельная лекция этой книги.
Новые свойства отражают основные направления развития Office 2000 - создание и работа над документами в Интернете, работа в многоязычной среде, повышение интеллектуальности, использование компонент.
Особо следует отметить и другую линию существенных изменений, направленных на унификацию средств, используемых в разных приложениях. Так объект Access.Application приблизился к своим "братьям" и по структуре свойств в меньшей степени выбивается из общего ряда. Объекты из библиотеки Office, задающие общие для приложений Office 2000 свойства, теперь доступны и в Access Заметим, правда, что сама библиотека Office все еще не подключается по умолчанию при создании каркаса документа Access. Однако, теперь, как и в общем случае, можно щелчком Alt+F11 вызвать Редактор VBE и в меню References подключить эту и другие библиотеки.
Важно и то, что у объекта Access.Application, как и положено, помимо главных свойств (Forms, Reports, Modules) появились на верхнем уровне и дополнительные свойства - участники. Отметим некоторые из них:
-
CodeData. Этот объект позволяет получить доступ к разнообразным коллекциям данных - AllQueries, AllTables, AllViews, AllDataBaseDiagrams, AllStoredProcedures - запросам, таблицам, диаграммам, хранимым процедурам.
-
CodeProject. Этот объект позволяет получать доступ к коллекциям основных объектов приложения - AllForms, AllMacros, AllModules, AllReports, AllDataAccessPages. У объекта есть и методы, позволяющие, например, устанавливать связь с базой данных - OpenConnection, CloseConnection.
-
CurrentData. Представляет косвенную ссылку на текущий объект данных и обладает всеми свойствами объекта CodeData.
-
CurrentProject. Представляет косвенную ссылку на текущий проект и обладает всеми свойствами объекта CodeProject.
-
DBEngine. Объект, представляющий машину вывода со всеми обычными для этого объекта свойствами и методами, как, например, - BeginTrans, CreateDataBase, CreateWorkSpace, OpenConnection - начать транзакцию, создать базу данных, рабочее пространство, открыть связь.
-
DataAccessPages. Эта коллекция объектов, задающих страницы доступа к данным. Каждый из этих объектов содержит такие свойства, как WebOptions, ConnectionString и другие.