Обзор объектной модели Word

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

Область применения. Сведения в этом разделе относятся к проектам уровня документа и проектам надстроек VSTO для Word. Дополнительные сведения см. в разделе "Функции", доступные по Приложение Office ликации и типу проекта.

В этом разделе приводится краткий обзор объектной модели Word. Дополнительные сведения о всей объектной модели Word см . в документации по объектной модели Word.

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

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

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

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

Word Object Model graphic

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

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

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

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

  • Объект Selection

  • Range - объект

  • Объект Bookmark

    Помимо объектной модели Word, проекты Office в Visual Studio предоставляют ведущие элементы и элементы управления ведущего приложения , расширяющие некоторые объекты из объектной модели Word. Поведение ведущих элементов и элементов управления ведущего приложения аналогично поведению объектов Word, однако они обладают дополнительными функциональными возможностями, такими как возможность привязки данных и дополнительные события. Дополнительные сведения см. в статье "Автоматизация Word" с помощью расширенных объектов и элементов управления узлами и элементов управления узлами.

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

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

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

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

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

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

Средства разработки Office в Visual Studio расширяют объект Document , предоставляя тип Document . Этот тип является ведущим элементом , который предоставляет доступ ко всем функциям объекта Document и добавляет дополнительные события, а также позволяет добавлять управляемые элементы управления.

При создании проекта на уровне документа для доступа к элементам Document можно использовать созданный класс ThisDocument в проекте. Для доступа к членам ведущего элемента Document можно использовать ключевые слова Me или this из кода в классе ThisDocument или Globals.ThisDocument из кода за пределами класса ThisDocument . Дополнительные сведения см. в разделе "Настройка на уровне документа программы". Например, для выделения первого абзаца в документе используйте следующий код.

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

В проектах надстройки VSTO во время выполнения можно создавать ведущие элементы Document . Созданный ведущий элемент можно использовать для добавления элементов управления в связанный документ. Дополнительные сведения см. в разделе "Расширение документов Word" и книг Excel в надстройках VSTO во время выполнения.

Объект Selection

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

Range - объект

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

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

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

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

  • Он не отображается в документе (в отличие от выделения, которое отображается всегда).

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

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

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

ContentControl позволяет управлять вводом и представлением как текста, так и содержимого других типов, в документах Word. ContentControl может отображать несколько разных типов пользовательского интерфейса, которые оптимизированы для применения в документах Word, например элемент управления форматированным текстом, элемент выбора даты или поле со списком. ContentControl также можно использовать, чтобы пользователи не могли редактировать разделы документа или шаблона.

Visual Studio расширяет объект ContentControl до нескольких элементов управления ведущего приложения. В то время как объект ContentControl может отображать пользовательский интерфейс любого из типов, доступных для элементов управления содержимым, для всех таких элементов Visual Studio предоставляет отдельный тип. Например, для создания элемента управления форматированным текстом можно использовать RichTextContentControl , а для создания элемента выбора даты — DatePickerContentControl . Поведение этих элементов управления ведущего приложения аналогично поведению собственного элемента ContentControl, однако они имеют дополнительные события и возможности привязки данных. Дополнительные сведения см. в разделе "Элементы управления содержимым".

Объект Bookmark

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

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

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

  • Закладки можно скрывать или делать видимыми, устанавливая значение ShowBookmarks класса View для свойства P:Microsoft.Office.Interop.Word.View.ShowBookmarks или T:Microsoft.Office.Interop.Word.View.

    Visual Studio расширяет объект Bookmark , предоставляя элемент управления ведущего приложения Bookmark . Поведение элемента управления ведущего приложения Bookmark аналогично поведению собственного элемента Bookmark, однако он имеет дополнительные события и возможности привязки данных. Для привязки данных к элементу управления закладками в документе можно использовать тот же способ, что и для привязки данных к элементу управления текстовым полем в форме Windows Forms. Дополнительные сведения см. в разделе "Элемент управления Закладки".

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

Полные сведения об объектной модели Word см. в справочнике по основной сборке взаимодействия (PIA) Word, а также в справочнике по объектной модели Visual Basic для приложений (VBA).

Справочник по основной сборке взаимодействия

В справочной документации по основной сборке взаимодействия Word описываются типы в основной сборке взаимодействия для Word. Эта документация доступна в следующем расположении: справочник по основной сборке взаимодействия Word 2010.

Дополнительные сведения о проектировании Word PIA, таких как различия между классами и интерфейсами в PIA и способах реализации событий в PIA, см. в разделе "Обзор классов и интерфейсов" в основных сборках взаимодействия Office.

Справочник по объектной модели VBA

В справочных документах по объектной модели VBA объектная модель Word описана в том виде, в котором она предоставляется коду VBA. Дополнительные сведения см. в справочнике по объектной модели Word 2010.

Все объекты и элементы в справочнике по объектной модели VBA соответствуют типам и участникам основной сборки взаимодействия Word. Например, объект Document в ссылке на объектную модель VBA соответствует Document объекту в Word PIA. Несмотря на то что в справочнике по объектной модели VBA содержатся примеры кода для большинства свойств, методов и событий, необходимо преобразовать код VBA в этом справочнике в код Visual Basic или Visual C#, если требуется использовать их в проекте Word, создаваемом с помощью Visual Studio.