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


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

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

  • Основные сведения о настройках

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

  • Особенности работы настроек с приложениями Microsoft Office

Применение. Сведения этого раздела применяются к проектам уровня документа для следующих приложений: Excel 2013 и Excel 2010; Word 2013 и Word 2010. Дополнительные сведения см. в разделе Доступность функций по типам приложений Office и проектов.

Общие сведения о создании настроек уровня документа см. в разделах Общие сведения о разработке решений Office, Приступая к работе: программирование настроек уровня документа для Word и Знакомство с программными настройками уровня документа для Excel.

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

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

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

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

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

ПримечаниеПримечание

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

zcfbd2sk.collapse_all(ru-ru,VS.110).gifВзаимодействия этапа разработки и времени выполнения

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

zcfbd2sk.collapse_all(ru-ru,VS.110).gifЭтап разработки

Взаимодействие во время разработки включает следующие этапы:

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

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

zcfbd2sk.collapse_all(ru-ru,VS.110).gifВремя выполнения

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

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

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

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

zcfbd2sk.collapse_all(ru-ru,VS.110).gifСравнение точек зрения разработчика и конечного пользователя

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

С точки зрения разработчика

С точки зрения конечного пользователя

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

Хотя может показаться, что разработчик создает исполняемый файл, который выполняется в Word или Excel, в действительности процесс работает по-другому.Документ связан со сборкой и содержит указатель на эту сборку.При открытии документа Word или Excel обнаруживает сборку и выполняет ее код в ответ на все обработанные события.

Те, кто использует данное решение, просто открывают документ или книгу (или создают новый документ из шаблона) точно так же, как они открывали бы любой другой файл Microsoft Office.

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

zcfbd2sk.collapse_all(ru-ru,VS.110).gifПоддерживаемые форматы документов для настроек на уровне документа

При создании проекта настроек можно выбрать формат документа, который будет использоваться в проекте.Дополнительные сведения см. в разделе Практическое руководство. Создание проектов 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 или в веб-страницу XML (.htm; формат .html).

zcfbd2sk.collapse_all(ru-ru,VS.110).gifПоддержка документов Word, имеющих расширение XML

В шаблонах проектов уровня документов не допускается создание проектов на основе следующих форматов файлов:

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

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

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

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

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

zcfbd2sk.collapse_all(ru-ru,VS.110).gifМанифест развертывания и манифест приложения

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

zcfbd2sk.collapse_all(ru-ru,VS.110).gifСреда выполнения Visual Studio Tools for Office

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

Дополнительные сведения см. в разделе Общие сведения об инструментах Visual Studio для среды выполнения Office.

Особенности работы настроек с приложениями Microsoft Office

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

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

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

Архитектура настройки

Архитектура настройки Office 2007

ПримечаниеПримечание

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

zcfbd2sk.collapse_all(ru-ru,VS.110).gifПроцесс загрузки

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

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

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

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

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

  5. Среда выполнения Visual Studio Tools for Office (cреда выполнения) устанавливает решение (если оно еще не установлено), загружает последние версии приложения и манифеста развертывания, а затем выполняет серию проверок безопасности.Дополнительные сведения см. в разделе Обеспечение безопасности решений Office.

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

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

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

  9. Среда выполнения Visual Studio Tools for Office (cреда выполнения) вызывает обработчик событий Startup в данной сборке настройки.Дополнительные сведения см. в разделе События в проектах Office.

См. также

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

Архитектура надстроек уровня приложения

Общие сведения об инструментах Visual Studio для среды выполнения Office

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

Кэшированные данные в настройках уровня документа

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

Архитектура решений Office в Visual Studio

Обеспечение безопасности решений Office

Проектирование и создание решений Office