Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Visual Studio 2013 включает проекты для создания настроек на уровне документа для Microsoft Office Word и Microsoft Office Excel. В этом разделе описываются следующие аспекты настройки на уровне документа:
Как настройки работают с приложениями Microsoft Office
Применимо к: Сведения в этом разделе относятся к проектам уровня документа для Excel и Word. Дополнительные сведения см. в разделе "Функции", доступные по типу приложения и проекта Office.
Общая информация о создании кастомизаций на уровне документа представлена в обзоре разработки решений Office (VSTO), а также в руководствах Начало программирования кастомизаций на уровне документа в Word и Начало программирования кастомизаций на уровне документа в Excel.
Общие сведения о настройках
При использовании средств разработчика Office в Visual Studio для создания настройки на уровне документа создается управляемая сборка кода, связанная с определенным документом. Документ или книга со связанной сборкой, как говорят, имеют расширения управляемого кода. Дополнительные сведения см. в статье "Проектирование и создание решений Office".
Когда пользователь открывает документ, сборка загружается приложением Microsoft Office. После загрузки сборки настройка может реагировать на события во время открытия документа. Настройка также может вызвать объектную модель для автоматизации и расширения приложения во время открытия документа, и он может использовать любой из классов в .NET Framework.
Сборка взаимодействует с COM-компонентами приложения через первичную сборку взаимодействия приложения. Дополнительные сведения см. в разделах «Основные сборки взаимодействия Office» и «Обзор разработки решений Office (VSTO)».
Если пользователь одновременно открывает несколько настроек на уровне документа, каждая сборка загружается в другом домене приложения. Это означает, что одно решение, которое ведет себя неправильно, не может привести к сбою других решений. Настройки уровня документа предназначены для работы с одним документом в одном домене приложения. Они не предназначены для обмена данными между документами. Дополнительные сведения о доменах приложений см. в разделе "Домены приложений".
Замечание
Настройки уровня документа, созданные с помощью средств разработчика Office в Visual Studio, предназначены для использования только при запуске приложения конечным пользователем. Если приложение запускается программным способом, например с помощью службы автоматизации, настройка может не работать должным образом.
Возможности разработки и времени выполнения
Чтобы понять архитектуру настроек на уровне документа, она помогает понять возможности разработки решения и запуска решения.
Время разработки
Опыт проектирования во время разработки включает следующие действия.
Разработчик создает проект уровня документа в Visual Studio. Проект включает в себя документ и сборку, которая работает в фоновом режиме для документа. Документ может уже существовать (созданный конструктором) или создать новый документ вместе с проектом.
Конструктор ( разработчик, создающий проект или другой пользователь), создает окончательный внешний вид документа для конечного пользователя.
Режим выполнения
Процесс выполнения включает следующие действия.
Конечный пользователь открывает документ или книгу с расширениями управляемого кода.
Документ или рабочая книга подгружает скомпилированную сборку.
Сборка реагирует на события, когда пользователь работает в документе или рабочей книге.
Сравнение перспектив разработчиков и конечных пользователей
Так как разработчик работает в основном в Visual Studio, а конечный пользователь работает в Word или Excel, существует два способа понимания настроек на уровне документа.
| Перспектива разработчика | Перспектива конечного пользователя |
|---|---|
| С помощью Visual Studio разработчик пишет код, доступный для Word и Excel. Хотя может показаться, что разработчик создает исполняемый файл, который запускает Word или Excel, процесс фактически работает в другом направлении. Документ связан с сборкой и содержит указатель на нее. При открытии документа Word или Excel находит сборку и запускает код в ответ на все обработанные события. |
Пользователи решения просто открывают документ или таблицу (или создают документ из шаблона), так же, как и любой файл Microsoft Office. Сборка предоставляет настройки в документе или книге, например автоматическое заполнение его текущими данными или отображение диалогового окна для запроса сведений. |
Поддерживаемые форматы документов для настроек на уровне документа
При создании проекта настройки можно выбрать формат документа, который вы хотите использовать в проекте. Дополнительные сведения см. в статье "Практическое руководство. Создание проектов Office в Visual Studio".
В следующей таблице перечислены форматы документов, которые можно использовать в настройках уровня документа для 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) |
Следует разработать расширения управляемого кода только для документов в поддерживаемых форматах. В противном случае некоторые события могут не вызываться при открытии документа в приложении. Например, событие не возникает при использовании расширений управляемого кода с книгами, сохраненными в формате электронной таблицы Excel XML или в формате веб-страницы (Open; .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 Tools для Office. Среда выполнения Visual Studio Tools для Office включает неуправляемые компоненты, загружающие сборку настройки, а также набор управляемых сборок. Эти управляемые сборки предоставляют объектную модель, которую использует код настройки для автоматизации и расширения ведущего приложения.
Дополнительные сведения см. в статье "Инструменты Visual Studio для среды выполнения Office".
Как настройки работают с приложениями Microsoft Office
Когда пользователь открывает документ, который является частью настройки Microsoft Office, приложение использует манифест развертывания, связанный с документом, чтобы найти и загрузить самую текущую версию сборки настройки. Расположение манифеста развертывания хранится в пользовательском свойстве документа с именем AssemblyLocation. Строка, определяющая это расположение, помещается в свойство при построении решения.
Манифест развертывания указывает на манифест приложения, который затем указывает на самую текущую сборку. Дополнительные сведения см. в манифестах приложений и развертываний в решениях Office.
На следующем рисунке показана базовая архитектура настройки на уровне документа.
Замечание
В решениях Office, предназначенных для .NET Framework 4, объектная модель ведущего приложения вызывается с использованием информации о типах основной сборки взаимодействия (PIA), встроенной в сборку решения, вместо прямого вызова PIA. Дополнительные сведения см. в статье "Проектирование и создание решений Office".
Процесс загрузки
Следующие действия выполняются, когда пользователь открывает документ, который является частью решения Microsoft Office.
Приложение Microsoft Office проверяет настраиваемые свойства документа, чтобы узнать, связаны ли расширения управляемого кода с документом. Дополнительные сведения см. в разделе "Общие сведения о свойствах пользовательского документа".
Если есть расширения управляемого кода, приложение загружает VSTOEE.dll, который загружает VSTOLoader.dll. Это неуправляемые библиотеки DLL, которые являются компонентами загрузчика для среды выполнения Visual Studio 2010 Tools для Office. Дополнительные сведения см. в разделе "Инструменты Visual Studio для среды выполнения Office".
VSTOLoader.dll загружает .NET Framework и запускает управляемую часть инструментов Visual Studio для среды выполнения Office.
Если документ открыт из расположения, отличного от локального компьютера, среда выполнения Visual Studio tools for Office проверяет расположение документа в списке надежных расположений в параметрах Центра управления безопасностью для этого конкретного приложения Office. Если расположение документа не находится в надежном расположении, настройка не является доверенной, а процесс загрузки останавливается здесь.
Среда выполнения Visual Studio Tools для Office устанавливает решение, если оно еще не установлено, загружает последние манифесты приложения и развертывания и выполняет серию проверок безопасности. Дополнительные сведения см. в разделе "Безопасные решения Office".
Если настройке разрешено выполнение, среда выполнения Visual Studio Tools для Office использует манифест развертывания и манифест приложения для проверки наличия обновлений сборок. Если доступна новая версия сборки, среда выполнения скачивает новую версию сборки в кэш ClickOnce на клиентском компьютере. Дополнительные сведения см. в статье "Развертывание решения Office".
Среда выполнения Visual Studio Tools для Office создает новый домен приложения, в котором загружается сборка настройки.
Среда выполнения Visual Studio Tools для Office загружает сборку настройки в домен приложения.
Среда выполнения Visual Studio Tools для Office вызывает обработчик событий Startup в настраиваемой сборке. Дополнительные сведения см. в разделе "События" в проектах Office.