Тверской государственный университет
Опубликован: 13.09.2006 | Доступ: свободный | Студентов: 3491 / 369 | Оценка: 4.65 / 4.29 | Длительность: 30:37:00
Специальности: Программист, Менеджер
Лекция 2:

Начнем с объектов Office 2000

Библиотека объектов Office 2000 и Object Browser

Мы уже говорили, что Office 2000, так же как и Office 97, задается совокупностью библиотек классов. Каждому приложению соответствует своя библиотека классов объектов. Кроме того, есть библиотеки с общими для всех приложений классами объектов. Библиотеки классов, задающих приложения, устроены одинаково. Есть корневой класс (корневой объект) Application (Excel, Word и т.д.). Это "толстый объект", как матрешка. В него вложено большое число объектов, эти объекты задают свойства корневого объекта и являются так называемыми свойствами - участниками. Помимо этого корневой объект имеет терминальные свойства, методы и события. Каждый вложенный объект устроен аналогично - он тоже "толстый", может быть более толстый, чем корневой.

Сложность самой системы и большое количество составляющих ее объектов не позволяют описать все эти объекты в книгах наподобие этой. Необходимо также обращаться за справками к электронной документации. Справочная система по объектам в Office 97 была сделана, на наш взгляд, совсем неплохо, в Office 2000 она только улучшена. У Редактора VBE (Visual Basic Editor) есть инструментальное средство Object Browser (Окно просмотра объектов или, как теперь принято говорить, браузер объектов). Он позволяет просмотреть объекты, которые могут быть использованы в документе, увидеть их структуру - свойства, методы, события, получить справку и (или) пример использования.

Запомните, браузер объектов - это Ваш постоянный спутник при работе над проектом. Освойте работу с ним прежде всего. Невозможно запомнить, да и не нужно, множество объектов. Важнее, уметь получить нужную справку в нужный момент.

В браузере можно выбрать одну из библиотек каркаса документа, просмотреть ее структуру, для каждого класса объектов просмотреть его свойства, методы и события и тут же получить справку по каждому элементу. Вызывается Object Browser из редактора VBE выбором из меню пунктов View | Object Browser. А можно и быстрее: напомним, редактор вызывается нажатием клавиш Alt +F11, а Object Browser - F2.

Взгляните еще раз на рис. 1.2 и рис. 1.4 , где показан Object Browser. В левом верхнем углу окна просмотра объектов расположен раскрывающийся комбинированный список Project/Library, содержащий имена доступных проектов и библиотек. В окне Classes отображается структура выбранного из списка класса или проекта - совокупность встроенных объектов. Выбрав один из объектов, в соседнем окне Members Вы увидите элементы этого объекта (свойства, методы, события). Каждый элемент - библиотека, класс, проект, свойство, метод, событие, свойство типа перечисление - сопровождается соответствующим значком. Щелкнув кнопку "справка" (со значком "?"), Вы получите быструю справку по выбранному элементу.

Крайне полезное нововведение, сделанное в Office 2000, состоит в том, что в открывшемся окне справки можно щелкнуть кнопочку печати, позволяющее тут же напечатать справку. Более важно, что по другой кнопочке можно перейти в окно поиска информации по индексу, по оглавлению и в диалоге с Мастером Ответов (Answer Wizard). Единственный недостаток, справка и книги документации не согласованы, как это сделано в среде Visual C++, так что, найдя справку, вы не можете перейти в книгу документации, из которой эта справка взята, и просмотреть связный контекст. Так что есть еще место для совершенства справочной системы.

Следует заметить, что в Office 2000 справку выдает Мастер ответов, обладающий новыми возможностями. Его можно настроить так, что он будет выдавать справки и по объектам, спроектированным программистом.

Просматривать все объекты в поисках нужного - занятие довольно утомительное, поэтому в Object Browser имеются инструменты поиска. Ниже окна Project/Library расположен еще один комбинированный список, где нужно задать имя элемента поиска, а затем щелкнуть рядом расположенную кнопку поиска. При необходимости поиск можно осуществлять в одной из библиотек или во всех библиотеках (All libraries). Результаты поиска отображаются в специальном окне Search Results. На рис. 1.5 показаны результаты поиска слова Data в одной из библиотек.

Окно с результатами поиска

увеличить изображение
Рис. 1.5. Окно с результатами поиска

В самом низу окна просмотра расположено еще одно полезное средство - окно Details, отображающее сведения о выбранном элементе. Эта информация может содержать гиперссылки, выбирая которые, можно получать следующие порции информации. Для свойств в этом окне указывается их тип, для методов - полное описание всех аргументов, включая обязательные и возможные. Информацию из этого окна можно копировать в буфер или непосредственно перетащить в свой текст.

Еще один, на наш взгляд, недостаток этой хорошо сделанной справочной системы по объектам состоит в том, что невозможно выделить, копировать и печатать содержимое окон браузера (кроме справки). Мне, например, необходимо было получить список всех объектов того или иного класса. Для его получения приходилось заниматься утомительной операцией копирования по частям, получая очередную порцию прокруткой в окне.

Объекты 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.7.

Рис. 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 и другие.
полина есенкова
полина есенкова
Дмитрий Вологжин
Дмитрий Вологжин
Добрый день, прошел тесты с 1 по 9, 10 не сдал, стал читать лекцию и всё пройденные тесты с 1 по 9 сбросились, когда захотел пересдать 10 тест.