Общность и схожесть объектов Office 2000
Библиотека объектов VBIDE
В отличие от большинства библиотек, содержащих общие объекты, библиотека VBIDE не подключается к каркасу документа по умолчанию. Она не подключается автоматически, как это происходит с библиотекой Forms 2.0 при создании формы. Эту библиотеку необходимо подключать самому вручную или программно в тех случаях, когда предполагается программная работа с самим программным проектом. Программирование на лету, программное создание форм, инструментальных панелей и других элементов интерфейса - все это требует работы с объектами, содержащимися в этой библиотеке. Так что это одна из важнейших библиотек объектов, необходимых в работе программиста. Приведу обзор содержимого этой библиотеки.
Объекты | Основные Свойства | Основные Методы | Назначение |
---|---|---|---|
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, входящие в состав всех приложений, представляют еще одну важную и типичную группу схожих объектов.
Поставим точку.