Поделиться через


Общие сведения об объектной модели Word

Обновлен: Июль 2008

Применение

Сведения, приведенные в данном разделе, относятся только к указанным проектам Visual Studio Tools for Office и версиям Microsoft Office.

Тип проекта

  • Проекты уровня документа

  • Проекты уровня приложения

Версия Microsoft Office

  • Word 2003

  • Word 2007

Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов.

При разработке решений Visual Studio Tools for Office для Microsoft Office Word можно взаимодействовать с объектной моделью Word. Эта объектная модель состоит из классов и интерфейсов, которые предоставляются в основной сборке взаимодействия для Word и задаются в пространстве имен Microsoft.Office.Interop.Word.

В данном разделе описаны следующие аспекты использования объектной модели Word:

  • Основные сведения об объектной модели Word

  • Расширенные объекты в проектах Visual Studio Tools for Office

  • Использование документации по объектной модели Word

Дополнительные сведения об использовании объектной модели Word для выполнения задач в Visual Studio Tools for Office см. в следующих разделах.

Основные сведения об объектной модели Word

В Word предоставляются сотни объектов, с которыми можно взаимодействовать. Эти объекты организованы в иерархию, которая точно следует за пользовательским интерфейсом. Вверху иерархии находится объект Application. Этот объект представляет текущий экземпляр Word. Объект Application содержит объекты Document, Selection, Bookmark и Range. Каждый из этих объектов имеет много методов и свойств, которыми можно управлять и с которыми можно взаимодействовать.

На следующем рисунке показано одно представление этих объектов в иерархии объектной модели Word:

Краткий справочник по объектной модели Word
График объектной модели Word

На первый взгляд объектная модель — это множество перекрытий. Например объекты Document и Selection члены объекта Application, но объект Document также член объекта Selection. Оба объекта, Document и Selection, содержат объекты Bookmark и Range. Перекрытие существует, поскольку существует множество способов доступа к одному и тому же типу объекта. Например, форматирование применяется к объекту Range; но может понадобиться получить доступ к объектам в диапазоне текущего выбора, конкретного параграфа, раздела или всего документа.

В следующих разделах дается краткое описание объектов верхнего уровня и способов их взаимодействия друг с другом. Это следующие пять объектов:

  • объект приложения;

  • объект документа;

  • объект выбора;

  • объект диапазона;

  • объект закладки.

Помимо этого, Visual Studio Tools for Office расширяет большинство этих объектов до ведущих элементов и элементов управления ведущего приложения. Расширенные объекты можно использовать в проектах уровня документа или, начиная с Visual Studio 2008 с пакетом обновления 1 (SP1), в проектах уровня приложения для Word 2007. Ведущие элементы и элементы управления ведущего приложения поддерживают дополнительную функциональность, например, возможности привязки к данным и события. Дополнительные сведения об элементах управления ведущего приложения см. в разделе Расширенные объекты в проектах Visual Studio Tools for Office.

Объект приложения

Объект Application представляет приложение Word и является родительским для всех других объектов. Его члены обычно применяются к Word в целом. Его свойства и методы можно использовать для управления средой Word.

В проектах надстроек уровня приложения можно получать доступ к объекту Application с помощью поля Application класса ThisAddIn. Дополнительные сведения см. в разделе Программирование надстроек уровня приложения.

В проектах уровня документа можно получать доступ к объекту Application с помощью поля Application класса ThisDocument.

Объект документа

Объект Microsoft.Office.Interop.Word.Document является основой для программирования в Word. Он представляет документ и все его содержимое. При открытии документа или создании нового документа создается новый объект Microsoft.Office.Interop.Word.Document, который добавляется в коллекцию Documents объекта Application. Документ, в котором находится фокус, называется активным документом. Он представляется свойством ActiveDocument объекта Application.

Visual Studio Tools for Office расширяет объект Microsoft.Office.Interop.Word.Document, предоставляя класс Microsoft.Office.Tools.Word.Document. Этот класс является ведущим элементом, которые предоставляет пользователю доступ ко всем членам собственного класса Microsoft.Office.Interop.Word.Document и позволяет добавлять события, управляемые элементы управления и смарт-теги. Дополнительные сведения см. в разделе Общие сведения о ведущих элементах и элементах управления ведущего приложения.

При создании проекта уровня документа Visual Studio Tools for Office создает класс с именем ThisDocument, который является производным от класса Microsoft.Office.Tools.Word.Document. Доступ к членам класса Microsoft.Office.Tools.Word.Document можно получить с помощью ключевых слов Me или this из кода в классе ThisDocument или с помощью Globals.ThisDocument из кода вне класса ThisDocument. Например, для выбора параграфа документа используется приведенный ниже код.

Me.Paragraphs(1).Range.Select()
this.Paragraphs[1].Range.Select();

Начиная с пакета обновления 1 (SP1), можно создавать ведущие элементы Microsoft.Office.Tools.Word.Document во время выполнения с помощью надстроек уровня приложения для Word 2007. Созданные ведущие элементы можно использовать для добавления элементов управления и смарт-тегов в связанные документы. Дополнительные сведения см. в разделе Расширение документов Word и книг Excel в надстройках уровня приложения во время выполнения.

Объект выбора

Объект Selection представляет область, выбранную в текущий момент. При выполнении в пользовательском интерфейсе Word какой-либо операции, например выделения текста жирным шрифтом, текст сначала выбирается, или высвечивается, а затем к нему применяется форматирование. Объект Selection всегда присутствует в документе. Если ничего не выделено, то этот объект представляет точку вставки. Кроме того, выбор может охватывать несколько разделенных блоков текста.

Объект диапазона

Объект Range представляет непрерывную область документа и задается положениями начального и конечного символов. Нет ограничения на количество объектов Range. Можно задавать несколько объектов Range в одном документе. Объект Range имеет следующие характеристики:

  • Объект диапазона может представлять собой одну точку вставки, диапазон текста или весь документ.

  • Он может включать непечатные символы, например пробелы, символы табуляции и метки параграфов.

  • Он может представлять собой область текущего выделения или область за пределами текущего выделения.

  • Этот объект невидим в документе, в отличие от выделения, которое видимо всегда.

  • Он не сохраняется вместе с документом и существует только во время выполнения кода.

При вставке текста в конец диапазона Word автоматически расширяет диапазон на размер вставленного текста.

Объекты элементов управления содержимым

Объект Microsoft.Office.Interop.Word.ContentControl предоставляет способ управления вводом и представлением текста и содержимого других типов в документах Word 2007. Объект Microsoft.Office.Interop.Word.ContentControl может отображать несколько разных типов элементов пользовательского интерфейса, оптимизированных для использования в документах Word, например, элемент управления текстом в формате RTF, элемент выбора даты или поле со списком. Объект Microsoft.Office.Interop.Word.ContentControl можно также использовать для предотвращения редактирования пользователем разделов документа или шаблона.

Visual Studio Tools for Office расширяет объект Microsoft.Office.Interop.Word.ContentControl в несколько различных элементов управления ведущего приложения. Поскольку объект Microsoft.Office.Interop.Word.ContentControl может отображать любой из множества различных типов элементов пользовательского интерфейса, доступных для элементов управления содержимым, Visual Studio Tools for Office предоставляет отдельный класс для каждого типа таких элементов. Например, с помощью класса RichTextContentControl можно создать элемент управления текстом в формате RTF, а с помощью класса DatePickerContentControl можно создать элемент выбора даты. Поведение этих элементов управления ведущего приложения аналогично поведению собственных элементов управления Microsoft.Office.Interop.Word.ContentControl, однако они еще имеют дополнительные возможности событий и привязки к данным.

Дополнительные сведения см. в разделе Элементы управления содержимым.

Объект закладки

Объект Microsoft.Office.Interop.Word.Bookmark представляет непрерывную область документа с начальной и конечной позициями. Закладки можно использовать для отметки некоего расположения в документе или в качестве контейнера для текста в документе. Объект Microsoft.Office.Interop.Word.Bookmark может состоять из одной точки вставки или быть размером в весь документ. Объект Microsoft.Office.Interop.Word.Bookmark имеет следующие характеристики, отличающие его от объекта Range:

  • Имена закладкам можно давать во время разработки.

  • Объекты Microsoft.Office.Interop.Word.Bookmark сохраняются с документом, т.е. они не удаляются при остановке выполнения кода или при закрытии документа.

  • Закладки можно скрывать или делать видимыми, устанавливая для свойства ShowBookmarks объекта View соответствующее значение false или true.

Visual Studio Tools for Office расширяет объект Microsoft.Office.Interop.Word.Bookmark до элемента управления ведущего приложения. Поведение элемента управления Microsoft.Office.Tools.Word.Bookmark аналогично поведению собственного элемента управления Microsoft.Office.Interop.Word.Bookmark, однако он еще имеет дополнительные возможности событий и привязки к данным. Теперь в документе можно привязывать данные к элементу управления "закладка" также, как выполняется привязка данных к элементу управления "текстовое поле" в форме Windows Forms.

Дополнительные сведения см. в разделе Элементы управления Bookmark.

Расширенные объекты в проектах Visual Studio Tools for Office

Важно понимать разницу между собственными объектами, предоставленными объектной моделью Word, и расширенными объектами (ведущими элементами и элементами управления ведущего приложения), предоставленными Visual Studio Tools for Office. Оба типа объектов доступны в проектах уровня документа и проектах уровня приложения для Word 2007. Дополнительные сведения см. в разделе Общие сведения о ведущих элементах и элементах управления ведущего приложения.

Разница между этими объектами отражается в следующих четырех областях использования:

  • Этап разработки. При добавлении расширенных элементов управления Word в настройку уровня документа на стадии разработки они автоматически создаются как элементы управления ведущего приложения. Например, если в документ добавляется закладка в конструкторе, то автоматически создается код для расширения этой закладки в элемент управления Microsoft.Office.Tools.Word.Bookmark.

  • Этап выполнения. Ведущие элементы не создаются автоматически во время выполнения. Если документы добавляются во время выполнения с помощью метода Add, то они являются объектами Microsoft.Office.Interop.Word.Document и не имеют тех дополнительных возможностей, которые предоставляют ведущие элементы Microsoft.Office.Tools.Word.Document. Можно программным способом добавлять элементы управления ведущего приложения с помощью вспомогательных методов, предоставляемых Visual Studio Tools for Office. Дополнительные сведения см. в разделе Программные ограничения ведущих элементов и элементов управления ведущего приложения.

    kw65a0we.alert_note(ru-ru,VS.90).gifПримечание.

    Начиная с пакета обновления 1 (SP1), можно создавать ведущие элементы Microsoft.Office.Tools.Word.Document во время выполнения с помощью надстроек уровня приложения для Word 2007. Дополнительные сведения см. в разделе Расширение документов Word и книг Excel в надстройках уровня приложения во время выполнения.

  • Новые возможности. Ведущие элементы и элементы управления ведущего приложения обладают возможностями, которые недоступны в собственных объектах. Ведущие элементы действуют как контейнер для управляемых элементов управления и имеют дополнительные события. Элементы управления ведущего приложения могут быть привязаны к данным и иметь дополнительные события.

  • Типы. Собственные объекты Word используют типы, заданные в пространстве имен Microsoft.Office.Interop.Word основной сборки взаимодействия для Word 2007, в то время как ведущие элементы и элементы управления ведущего приложения заданы в пространстве имен Microsoft.Office.Tools.Word среды выполнения Visual Studio Tools for Office.

Использование документации по объектной модели Word

Сведения о доступных классах объектной модели Word см. в следующих пакетах документации.

По первой ссылке можно найти сведения о классах и интерфейсах в основной сборке взаимодействия для Word. Остальные ссылки ведут к документации по объектной модели Word, как она представлена применительно к коду Visual Basic для приложений (VBA). Каждый пакет документации имеет преимущества и недостатки для разработчиков, использующих Visual Studio Tools for Office.

Документация по основной сборке взаимодействия

В данной документации описываются все типы основной сборки взаимодействия Word, которые можно использовать в проектах Visual Studio Tools for Office. Однако в этой документации имеется ряд недостатков:

  • Описываются только типы основной сборки взаимодействия для Word 2003. Описание новых типов и членов основной сборки взаимодействия для Word 2007 см. в описании VBA для Word 2007.

  • На данный момент в этой документации не предоставляются примеры кода.

Документация по VBA

В данной документации описываются все объекты и члены, соответствующие классам и членам основной сборки взаимодействия, используемой в проектах Visual Studio Tools for Office. Например, объект Document в документации Word VBA соответствует классу Microsoft.Office.Interop.Word.Document в основной сборке взаимодействия.

Документация по VBA имеет следующие преимущества:

  • Дается описание объектных моделей как Word 2007, так и Word 2003.

  • Для большинства членов предоставляются примеры кода.

Документация по VBA имеет следующие недостатки:

  • Синтаксис и примеры кода предоставлены только для VBA. Чтобы использовать примеры кода в проектах Visual Studio Tools for Office, необходимо транслировать код VBA в Visual Basic или Visual C#.

Дополнительные типы в основных сборках взаимодействия

В основных сборках взаимодействия представлено множество типов, недоступных в VBA. Эти дополнительные типы используются для преобразования объектов объектной модели COM Word в управляемый код и не предназначены для непосредственного использования в коде.

Дополнительные сведения см. в разделе Overview of Classes and Interfaces in the Office Primary Interop Assemblies.

См. также

Основные понятия

Работа с документами

Работа с текстом в документах

Работа с таблицами

Общие сведения об объектной модели Excel

Общие сведения о ведущих элементах и элементах управления ведущего приложения

Программные ограничения ведущих элементов и элементов управления ведущего приложения

Общие сведения о необязательных параметрах в решениях Office

Ссылки

Основные сборки взаимодействия Office

Другие ресурсы

Элементы управления ведущего приложения Word

Журнал изменений

Дата

Изменение

Причина

Июль 2008

Добавлены сведения о создании ведущих элементов Document в надстройках уровня приложения.

Изменение функции SP1.