Основы офисного программирования и документы Word



              


Документы и проекты с объектной точки зрения


Объект Document имеет свойство VBProject, возвращающее объект, задающий программный проект данного документа. С другой стороны, объект VBProject является элементом коллекции VBProjects, содержащей проекты всех открытых документов. Коллекция VBProjects, в свою очередь, вложена в объект VBE. Поэтому давайте поднимемся на несколько этажей выше проекта. Я напомню, что корневым объектом, содержащим все объекты VBA, является объект VBE (Visual Basic Environment или Editor). У этого объекта есть только свойства, позволяющие получить доступ к объектам VBA, лежащим на нижних уровнях иерархии. В справочной системе приведена следующая объектная модель VBE:

Модель объекта VBE

Рис. 4.1.  Модель объекта VBE

Эта модель далеко не полная. Она отражает только коллекции, входящие на верхнем уровне в объект VBE. Рассмотрим коротко эти коллекции:

  • Конечно, основной является коллекция проектов - VBProjects. Эту коллекцию составляют все проекты открытых документов приложения. Заметьте, если одновременно открыто N документов Word, то коллекция VBProjects будет содержать не менее чем N+1 элемент, по одному проекту на документ плюс общий для всех проект Normal. Заметьте также, проекты разных приложений, например, Excel и Word входят, к сожалению, в разные коллекции, что затрудняет программную работу в проекте документа Word с проектом Excel. Совместная работа с разными проектами внутри одного приложения не вызывает особых трудностей. Достаточно просто иметь общие переменные, вызывать общие процедуры.
  • О том, как создать собственные надстройки - AddIn, разговор пойдет в последующих лекциях. Сейчас же замечу, что коллекция надстроек, доступных в приложении Word 2000, не пуста. В настоящий момент у меня на компьютере доступны восемь таких надстроек, среди них WinApiViewer, AddIn для построения строк, задающих SQL-операторы, AddIn, реализующий множественный импорт- экспорт объектов за одну операцию и другие.
  • Коллекция окон Windows содержит объекты, задающие окна в Редакторе Visual Basic. Восемь окон входит в эту коллекцию, - окно проекта и окно кода, окно отладки, окно локальных переменных и другие.
  • Коллекция CodePanes содержит подокна, задающие активные окна кода, обычно таких открытых окон в процессе работы одно, но может быть и несколько ведется параллельная отладка нескольких проектов.
  • Коллекция CommandBars содержит, как правило, несколько десятков элементов, задающих инструментальные панели в среде Редактора VBA.




Содержание  Назад  Вперед