Опубликован: 13.09.2006 | Уровень: для всех | Доступ: платный | ВУЗ: Тверской государственный университет
Лекция 5:

Общность и схожесть объектов Office 2000

< Лекция 4 || Лекция 5: 123456 || Лекция 6 >

Библиотека объектов VBIDE

В отличие от большинства библиотек, содержащих общие объекты, библиотека VBIDE не подключается к каркасу документа по умолчанию. Она не подключается автоматически, как это происходит с библиотекой Forms 2.0 при создании формы. Эту библиотеку необходимо подключать самому вручную или программно в тех случаях, когда предполагается программная работа с самим программным проектом. Программирование на лету, программное создание форм, инструментальных панелей и других элементов интерфейса - все это требует работы с объектами, содержащимися в этой библиотеке. Так что это одна из важнейших библиотек объектов, необходимых в работе программиста. Приведу обзор содержимого этой библиотеки.

Таблица 5.2. Объекты библиотеки VBIDE
Объекты Основные Свойства Основные Методы Назначение
AddIn Collection, Connect, Description, GUID, Object, ProgID, VBE нет Класс Addin описывает надстройки, специфические для того или иного приложения и самого VBA. Поэтому этот класс включен во все библиотеки - Word, Excel и, в том числе, библиотеку VBIDE.
AddIns Count, VBE Item, Update Коллекция объектов AddIn, доступных в среде разработки программного проекта.
CodeModule CodePane, CountOfLines, CountOfDeclarationLines, ProcBodyLine Всего 11 свойств AddFromFile, AddFromString, InsertLines, ReplaceLines, Find, CreateEventsProc, DeleteLines Представляет код модуля. Является одним из основных объектов, с которым приходится работать при программировании на лету. Примеры использования даны в "Объекты программного проекта. Программирование на лету" .
CodePane CodeModule, CodePaneView, Collection, CountOfVisibleLines, TopLine, VBE, Windows GetSelection, SetSelection, Show Подокно, в котором отображается код модуля. Такое окно может быть не единственным.
CodePanes Count, Parent, VBE Item Коллекция активных подокон кода.
ContainedVBControls Count, Parent, VBE Add, Item. Remove Коллекция объектов VBControl
Events и связанные с ним классы: CommandBarEvents, FileControlsEvents, RefererncesEvents, SelectedVBControlsEvents, VBComponentsEvents, VBControlsEvents, VBProjectsEvents Свойства класса Events возвращают объект одного из связанных классов, каждый из которых обладает некоторым набором событий. Эти события могут включаться в AddIn для VBA.
IDTExtensibility Нет OnAddInsUpdate, OnConnection, OnDisConnection, OnStartUpComplete Этот объект позволяет реализовать стандартный интерфейс в AddIn для VBA.
LinkedWindows Count, VBE Add, Item, Remove Коллекция окон, связанных с VB IDE
Member Всего 19 свойств нет Некоторый набор свойств, допустимых при работе с проектом. Включает общедоступные (public) атрибуты из библиотеки типов.
Members Count, Parent, VBE Item Коллекция элементов модуля. Соответствует тому, что можно увидеть в правом окне при выборе модуля в окне просмотра объектов.
Property Collection, IndexedValue, Name, NumIndices, Object, Value, VBE нет Представляет свойства объекта
Properties Count, Parent, VBE Item Коллекция объектов Property
References Count, Parent, VBE AddFromFile, AddFromGUID, Item, Remove. Два события: ItemAdded, ItemRemoved Коллекция ссылок. Позволяет программным путем добавлять и удалять ссылки на библиотеки и проекты.
SelectedVBControls Count, Parent, VBE Clear, Copy, Cut, Item. Два события: ItemAdded, ItemRemoved Коллекция выбранных элементов формы.
VBComponent CodeModule, Designer, HelpContextId и другие. Всего 15 свойств. Activate, InsertFile, SaveAs и другие. Всего 7 методов. Представляет компоненту программного проекта - модуль или форму. Один из центральных объектов при работе с программным проектом.
VBComponents Count, Parent, VBE, StartUpObject Add, AddCustom, AddFromFile, AddFromTemplate, Item, Remove + 6 событий Коллекция компонент, составляющих программный проект.
VBControl ClassName, ControlObject, ControlType и другие. Всего 10 свойств. ZOrder Представляет объект VBControl - элемент управления, размещаемый на форме.
VBControls Count, Parent, VBE Add, Item, Remove. 3 события: ItemAdded, itemRemoved, ItemRenamed Коллекция объектов VBControl.
VBE ActiveVBProject, DisplayModel, Name, 5 свойств возвращают основные коллекции: AddIns, CodePanes, CommandBars, VBProjects, Windows. Всего 18 свойств. Quit Корневой объект, задающий Редактор Visual Basic. Все остальные объекты библиотеки, так или иначе, вложены в объект VBE. С другой стороны, из любого объекта можно подняться в корень, поскольку все объекты библиотеки VBIDE содержат свойство VBE, возвращающее этот объект.
VBForm CanPaste, ContainedVBControls, Parent, SelectedVBControls, VBControls, VBE Paste, SelectAll Объект, задающий форму в программном проекте.
VBNewProjects Count, VBE Item Коллекция проектов, добавленных в результате выполнения специальных операций.
VBProject VBComponents, Name, HelpFile, HelpContextID, IsDirty и другие. Всего 16 свойств. AddToolBoxProgId, MakeCompiledFile, ReadProperty, SaveAs, WriteProperty Представляет программный проект. Один из центральных объектов, без которого не обойтись при программной работе с проектом.
VBProjects Count, Parent, VBE, IconState, StartProject. Add, AddFromFile, AddFRomTemplate, FileName, Item, Remove, SaveAs. События: ItemActivate, ItemAdded, ItemRemoved, ItemRenamed Коллекция объектов VBProject.

Я решил привести сводку всех объектов, включенных в библиотеку VBIDE, основываясь на том, какие объекты можно увидеть в окне просмотра объектов. Для программистов, создающих достаточно серьезные программные проекты, не обойтись без работы с этими объектами, без знания их свойств и методов. Хочу предупредить, что справочная система по этим объектам частично отсутствует, а там, где она есть, оставляет желать лучшего. Более того, не со всеми из указанных свойств и методов можно реально работать в Office 2000. Некоторые из них будут реализованы в следующих версиях.

Схожесть объектов

Как видите, общих объектов, с которыми приходится работать в различных приложениях Office 2000, достаточно много. Схожих объектов еще больше. Вряд ли представляется возможным их перечисление. Я напомню, что схожими, я назвал объекты, имеющие общие методы или свойства. Фактически, схожими называются объекты, у которых доля одинаковых свойств и методов достаточно высока. Такое определение не является строгим и допускает определенный произвол в толковании того, являются ли два объекта схожими. Тем не менее, понятие схожести достаточно важное, поскольку облегчает изучение объектов, позволяет лучше ориентироваться в этом сложном мире объектов Office 2000.

Я приведу несколько примеров того, что я называю схожими объектами:

  • Самый большой класс схожих объектов составляют коллекции. Заметьте, коллекции составляют, чуть ли не половину всех классов, образующих библиотеки Office 2000. Все коллекции обладают свойством Count и методом Item, который иногда называется свойством. Большинство коллекций имеют метод Add и Delete, который иногда называется Remove. Конечно же, важно при изучении этого семейства классов иметь общее представление о коллекции. В качестве эталона можно рассматривать класс Collection, встроенного в язык VBA. Все остальные классы можно рассматривать как вариации этого эталона. Замечу, что если бы и разработчики Office 2000, проектируя очередной класс коллекции, исходили бы из определенного эталона (шаблона класса), то мера схожести этих классов была бы выше. Реально, многие различия в этих классах можно было бы устранить. Понятно, что некоторые различия носят принципиальный характер. Так для коллекций, элементы которых являются встроенными объектами, методы Add и Delete являются недопустимыми.
  • Можно ожидать, что схожими будут объекты Application - Word.Application, Excel.Application и другие. Действительно, определенная схожесть есть, хотя, с моей точки зрения и здесь могла бы быть достигнута более высокая степень схожести.
  • Объекты следующего уровня, задающие документы Office 2000 в разных приложениях, - объекты Document, WorkBook, Slide и другие, еще один пример схожих объектов.
  • Много схожего в поведении объектов более низкого уровня - Range и Selection, задающих рабочую область в приложениях Word и Excel.
  • Коллекция Dialogs и объекты Dialog, входящие в состав всех приложений, представляют еще одну важную и типичную группу схожих объектов.

Поставим точку.

< Лекция 4 || Лекция 5: 123456 || Лекция 6 >
Андрей Галушко
Андрей Галушко
Украина, Конотоп, КИПТ
Анар Каныбетова
Анар Каныбетова
Казахстан, Кызылорда