Архитектура настроек на уровне документа

Visual Studio 2013 включает проекты для создания настроек на уровне документа для Microsoft Office Word и Microsoft Office Excel. В этой статье описываются следующие аспекты надстроек уровня документа.

Общие сведения о настройках

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

Когда пользователь открывает документ, сборка загружается приложением Microsoft Office. После загрузки сборки настройка может отвечать на события при открытом документе. Настройка также может вызывать объектную модель для автоматизации и расширения приложения во время открытия документа, и он может использовать любой из классов в платформа .NET Framework.

Сборка взаимодействует с COM-компонентами приложения посредством основной сборки взаимодействия приложения. Дополнительные сведения см. в разделе "Основные сборки взаимодействия Office" и обзор разработки решений Office (VSTO).

Если пользователь открывает несколько настроек уровня документа в одно и то же время, то каждая сборка загружается в отдельном домене приложения. Это означает, что некорректное поведение одного решения не может привести к сбою других решений. Настройки уровня документа предназначены для работы с одним документом в одном домене приложений. Они не предназначены для взаимодействия между документами. Дополнительные сведения о доменах приложений см. в разделе "Домены приложений".

Примечание.

Настройки уровня документа, создаваемые с помощью средств разработчика Office в Visual Studio, предназначены для использования только в том случае, когда приложение запускается конечным пользователем. Если приложение запускается программными средствами (например, с помощью автоматизации), настройка может не работать должным образом.

Возможности разработки и времени выполнения

Чтобы понимать архитектуру настроек уровня документа, полезно понимать процесс разработки решения и выполнения решения.

Время разработки

Возможности во время разработки включает следующие шаги.

  1. Разработчик создает проект уровня документа в Visual Studio. Проект включает документ и сборку, выполняющуюся за документом. Документ может уже существовать (созданный конструктором) или создать новый документ вместе с проектом.

  2. Проектировщик — разработчик, создающий проект, или кто-то другой — создает окончательный вид и функции документа для конечного пользователя.

Параметры выполнения

Возможности во время выполнения включают следующие шаги.

  1. Конечный пользователь открывает документ или книгу, имеющую расширения управляемого кода.

  2. Этот документ или книга загружают скомпилированную сборку.

  3. Сборка реагирует на события по мере работы пользователя в документе или книге.

По сравнению с перспективой разработчика и конечных пользователей

Так как разработчик работает в основном в Visual Studio, а конечный пользователь работает в Word или Excel, существует два способа понимания настроек на уровне документа.

С точки зрения разработчика С точки зрения пользователя
С помощью Visual Studio разработчик пишет код, доступный для Word и Excel.

Хотя может показаться, что разработчик создает исполняемый файл, который выполняется в Word или Excel, в действительности процесс работает в обратном направлении. Документ связан со сборкой и содержит указатель на эту сборку. При открытии документа Word или Excel находит сборку и выполняет код в ответ на все обработанные события.
Тех, кто использует решение, просто открывают документ или книгу (или создают новый документ из шаблона) точно так же, как любой другой файл Microsoft Office.

Сборка предоставляет настройки в документе или книге, такие как автоматическое заполнение текущими данными или отображение диалогового окна для запроса информации.

Поддерживаемые форматы документов для настроек на уровне документа

При создании проекта настройки можно выбрать формат документа, который вы хотите использовать в проекте. Дополнительные сведения см. в статье "Практическое руководство. Создание проектов Office в Visual Studio".

В следующей таблице перечислены форматы документов, которые можно использовать в настройках уровня документа для Excel и Word.

Excel Word
Книга Excel (XLSX)

Книга с поддержкой макросов Excel (XLSM)

Двоичная книга Excel (XLSB)

Книга Excel 97-2003 (XLS)

Шаблон Excel (XLTX)

Шаблон с поддержкой макросов Excel (XLTM)

Шаблон Excel 97-2003 (XLT)
Документ Word (DOCX)

Документ с поддержкой макросов Word (DOCM)

Документ Word 97-2003 (.doc)

Шаблон Word (dotx)

Шаблон с поддержкой макросов Word (DOTM)

Шаблон Word 97-2003 (.dot)

Следует разрабатывать расширения управляемого кода только для документов в поддерживаемых форматов. В противном случае некоторые события могут не возникать при открытии документа в приложении. Например, событие не возникает при использовании расширений управляемого кода с книгами, Open сохраненными в формате электронной таблицы Excel ИЛИ на веб-странице (HTM; ). html) формат.

Поддержка документов Word с расширениями ИМЕН XML-файлов

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

  • XML-документ Word (*xml).

  • XML-документ Word 2003 (*xml).

    Если требуется, чтобы пользователи применяли настройки в этих форматах файлов, выполните сборку и развертывание настройки, которая использует один из поддерживаемых форматов файлов, указанных в таблице выше. После установки настройки конечные пользователи могут сохранить документ в формате XML-документа Word (*xml) или в формате XML-документа Word 2003 (*xml), а настройка продолжит работать должным образом.

Компоненты настроек

Основные компоненты настройки — это документ и сборка. Помимо этих компонентов существует несколько других частей, играющих важную роль в том, как приложения Microsoft Office обнаруживают и загружают настройки.

Манифест развертывания и манифест приложения

Настройки используют манифесты развертывания и манифесты приложений для обнаружения и загрузки самой последней версии сборки настройки. Манифест развертывания указывает на текущий манифест приложения. Манифест приложения указывает на сборку настройки и задает класс (или классы) точки входа для выполнения в сборке. Дополнительные сведения см . в манифестах приложений и развертываний в решениях Office.

Набор средств Visual Studio для Office (среда выполнения)

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

Дополнительные сведения см. в статье "Инструменты Visual Studio для среды выполнения Office".

Как настройки работают с приложениями Microsoft Office

Когда пользователь открывает документ, который является частью настройки Microsoft Office, приложение использует манифест развертывания, связанный с этим документом, для обнаружения и загрузки последней версии сборки настройки. Расположение манифеста развертывания хранится в пользовательском свойстве документа с именем AssemblyLocation. Строка, идентифицирующая данное расположение, вставляется в свойство при сборке решения.

Манифест развертывания указывает на манифест приложения, который в свою очередь указывает на последнюю сборку. Дополнительные сведения см . в манифестах приложений и развертываний в решениях Office.

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

2007 Office customization architecture

Примечание.

В решениях Office, предназначенных для платформа .NET Framework 4, решения вызывают объектную модель ведущего приложения с помощью сведений о типе основной сборки взаимодействия (PIA), внедренных в сборку решения, вместо вызова непосредственно в PIA. Дополнительные сведения см. в статье "Проектирование и создание решений Office".

Процесс загрузки

Следующие действия выполняются, когда пользователь открывает документ, который является частью решения Microsoft Office.

  1. Приложение Microsoft Office проверяет настраиваемые свойства документа, чтобы увидеть, есть ли в этом документе расширения управляемого кода. Дополнительные сведения см. в разделе "Общие сведения о свойствах пользовательского документа".

  2. Если есть расширения управляемого кода, приложение загружает VSTOEE.dll, который загружает VSTOLoader.dll. Это неуправляемые библиотеки DLL, которые являются компонентами загрузчика для среды выполнения Visual Studio 2010 Tools для Office. Дополнительные сведения см. в набор средств Visual Studio для Office обзоре среды выполнения.

  3. VSTOLoader.dll загружает платформа .NET Framework и запускает управляемую часть среды выполнения набор средств Visual Studio для Office.

  4. Если документ открыт из расположения, отличного от локального компьютера, среда выполнения набор средств Visual Studio для Office проверяет расположение документа в списке надежных расположений в Параметры центра управления безопасностью для конкретной Приложение Office ликации. Если расположение документа не указано в списке надежных расположений, настройка не является доверенной, и на этом процесс загрузки останавливается.

  5. Среда выполнения набор средств Visual Studio для Office устанавливает решение, если оно еще не установлено, скачивает последние манифесты приложения и развертывания и выполняет ряд проверка безопасности. Дополнительные сведения см. в разделе "Безопасные решения Office".

  6. Если настройка является доверенной для выполнения, среда выполнения набор средств Visual Studio для Office использует манифест развертывания и манифест приложения для проверка обновлений сборок. Если доступна новая версия сборки, среда выполнения скачивает новую версию сборки в кэш ClickOnce на клиентском компьютере. Дополнительные сведения см. в статье "Развертывание решения Office".

  7. Среда выполнения набор средств Visual Studio для Office создает новый домен приложения, в котором загружается сборка настройки.

  8. Среда выполнения набор средств Visual Studio для Office загружает сборку настройки в домен приложения.

  9. Среда выполнения набор средств Visual Studio для Office вызывает обработчик событий startup в сборке настройки. Дополнительные сведения см. в разделе "События" в проектах Office.