Настройки уровня документа программы
При расширении приложения Microsoft Office Word или Microsoft Office Excel с помощью настройки уровня документа вы можете выполнять следующие задачи.
Автоматизация приложения с помощью его объектной модели.
Добавление элементов управления в документ.
Вызов Visual Basic для кода приложений (VBA) в документе из сборки настройки.
Вызов кода в сборке настройки из VBA.
Управление определенными аспектами документа, если он находится на сервере, на котором не установлен Microsoft Office.
Настройка пользовательского интерфейса приложения.
Область применения. Сведения в этом разделе относятся к проектам уровня документа для Excel и Word. Дополнительные сведения см. в разделе "Функции", доступные по Приложение Office ликации и типу проекта.
Некоторые аспекты создания кода в проектах уровня документов отличаются от работы с другими типами проектов в Visual Studio. Многие отличия связаны с тем, каким образом объектные модели Office предоставляются управляемому коду. Дополнительные сведения см. в статье "Написание кода в решениях Office".
Общие сведения о настройках на уровне документа и других типах решений, которые можно создать с помощью средств разработки Office в Visual Studio, см. в обзоре разработки решений Office (VSTO).
Использование созданных классов в проектах на уровне документов
При создании проекта уровня документа Visual Studio автоматически создает в этом проекте класс, который можно использовать для начала создания кода. Visual Studio создает для Word и Excel разные классы.
В проектах уровня документа для Word класс называется
ThisDocument
по умолчанию.Проекты уровня документа для Excel имеет несколько создаваемых классов: один для самой книги и по одному для каждого листа. По умолчанию эти классы имеют следующие имена:
ThisWorkbook
Sheet1
Sheet2
Sheet3
Созданный класс содержит обработчики событий, которые вызываются при открытии или закрытии документа. Для выполнения кода при открытии документа добавьте код в обработчик событий
Startup
. Для выполнения кода непосредственно перед закрытием документа добавьте код в обработчик событийShutdown
. Дополнительные сведения см. в разделе "События" в проектах Office.
Общие сведения о проектировании созданных классов
В проектах, предназначенных для платформа .NET Framework 4 или платформа .NET Framework 4.5, типы элементов узла в среде выполнения набор средств Visual Studio для Office являются интерфейсами, поэтому созданные классы не могут наследовать их реализацию. Вместо этого создаваемые классы наследуют большинство своих членов от следующих базовых классов.
ThisDocument
: производный от DocumentBase.ThisWorkbook
: производный от WorkbookBase.Sheet
n: производный от WorksheetBase.Эти базовые классы перенаправляют все вызовы их членов во внутреннюю реализацию соответствующих интерфейсов элементов узла в среде выполнения набор средств Visual Studio для Office. Например, при вызове Protect метода
ThisDocument
класса DocumentBase класс перенаправляет этот вызов во внутреннюю реализацию Document интерфейса в среде выполнения набор средств Visual Studio для Office.
Доступ к объектной модели ведущего приложения
Для доступа к объектной модели ведущего приложения используйте члены создаваемого класса в проекте. Каждый из этих классов соответствует объекту в объектной модели Excel или Word, и они содержат большую часть тех же свойств, методов и событий. Например, класс ThisDocument
в проекте уровня документа для Word содержит большую часть тех же элементов, что и объект Document в объектной модели Word.
В следующем примере кода показано, как использовать объектную модель Word для сохранения документа, который является частью настройки уровня документа для Word. Код в примере должен выполняться из класса ThisDocument
.
Чтобы выполнить это же действие без использования класса ThisDocument
, используйте для получения доступа к классу Globals
объект ThisDocument
. Например, можно добавить этот код в файл кода области действий, если требуется включить кнопку Сохранить в пользовательский интерфейс панели действий.
Поскольку класс ThisDocument
получает большинство своих членов от ведущего элемента Document , метод Save
, вызываемый в этом коде, фактически является методом Save ведущего элемента Document . Этот метод соответствует методу Save объекта Document в объектной модели Word.
Дополнительные сведения об использовании объектных моделей Word и Excel см . в обзоре объектной модели Word и обзоре объектной модели Excel.
Дополнительные сведения об объекте см. в статье "Глобальный Globals
доступ к объектам в проектах Office".
Добавление элементов управления в документы
Чтобы настроить пользовательский интерфейс документа, можно добавлять элементы управления Windows Forms или элементы управления ведущего приложения в область документа. Используя различные сочетания элементов управления и создавая код, можно привязать элементы управления к данным, собирать сведения от пользователя и реагировать на действия пользователя.
Элементы управления ведущего приложения — это классы, которые расширяют некоторые объекты в объектных моделях Word и Excel. Например, элемент управления ведущего приложения ListObject предоставляет все функциональные возможности ListObject в Excel. Однако элемент управления ведущего приложения ListObject также имеет дополнительные события и возможности привязки данных.
Дополнительные сведения см. в обзоре элементов узла и элементов управления узлами и элементах управления Windows Forms в документах Office.
Объединение настроек VBA и уровня документов
Вы можете использовать код VBA в документе, который является частью настройки уровня документа. Код VBA можно вызывать в документе из сборки настройки, или проект можно настроить таким образом, чтобы позволить коду VBA в документе вызывать код в сборке настройки.
Дополнительные сведения см. в разделе "Объединение настроек VBA и уровня документа".
Управление документами на сервере
Вы можете управлять некоторыми аспектами настроек уровня документа на сервере, где не установлен Microsoft Office Word или Microsoft Office Excel. Например, можно получать доступ к данным в кэше данных документа и изменять их. Также можно управлять сборкой настройки, связанной с документом. Например, вы можете удалить сборку из документа программными средствами, чтобы документ больше не выполнял этот код, или прикрепить сборку к документу программными средствами.
Дополнительные сведения см. в разделе "Управление документами на сервере" с помощью класса ServerDocument.
Настройка пользовательского интерфейса microsoft Приложение Office lications
С помощью настройки уровня документа вы можете настраивать пользовательский Интерфейс Word и Excel следующими способами.
Добавление элементов управления ведущего приложения или элементов управления Windows Forms в область документа.
Дополнительные сведения см. в статье "Автоматизация Word с помощью расширенных объектов", "Автоматизация Excel" с помощью расширенных объектов и элементов управления Windows Forms в документах Office.
Добавление панели действий в документ.
Дополнительные сведения см. в обзоре области действий.
Добавление настраиваемых вкладок на ленту.
Добавление настраиваемых групп на встроенную вкладку на ленте.
Дополнительные сведения см. в разделе "Практическое руководство. Настройка встроенной вкладки".
Дополнительные сведения о настройке пользовательского интерфейса Microsoft Приложение Office lications см. в разделе "Настройка пользовательского интерфейса Office".
Получение расширенных объектов из собственных объектов Office в настройках уровня документа
Многие обработчики событий для событий Office получают собственный объект Office, представляющий книгу, лист или документ, который вызвал событие. В некоторых случаях может потребоваться выполнять определенный код только в том случае, если книга или документ в настройке уровня документа вызывает событие. Например, в настройке уровня документа для Excel вам может потребоваться выполнять определенный код, когда пользователь активирует один из листов в настраиваемой книге, но не в том случае, когда пользователь активирует лист в другой книге, которая была открыта одновременно.
При наличии собственного объекта Office можно проверить, был ли этот объект расширен до ведущего элемента или элемента управления ведущего приложения в настройке уровня документа. Элементы узла и элементы управления узлами — это типы, предоставляемые средой выполнения набор средств Visual Studio для Office, которая добавляет функциональные возможности к объектам, существующим в собственном коде в объектных моделях Word или Excel (называемых собственными объектами Office). Совместно ведущие элементы и элементы управления ведущего приложения также называются расширенными объектами. Дополнительные сведения о элементах узла и элементах управления узла см. в обзоре элементов узла и элементов управления узлами.
Общие сведения о методах GetVstoObject и HasVstoObject
Чтобы протестировать собственный объект Office, используйте в своем проекте методы HasVstoObject
и GetVstoObject
.
Используйте метод
HasVstoObject
, чтобы определить, имеет ли собственный объект Office расширенный объект в вашей настройке. Этот метод возвращает значение true , если собственный объект Office имеет расширенный объект, и значение false в противном случае.Используйте метод
GetVstoObject
, если нужно получить расширенный объект для собственного объекта Office. Этот метод возвращает объект ListObject, Workbook, Worksheetили Document , если его имеет указанный собственный объект Office.GetVstoObject
В противном случае возвращает значение NULL. Например, методGetVstoObject
возвращает Document, если указанный Document является базовым объектом для документа в текущем проекте документа Word.В проектах на уровне документа метод нельзя использовать
GetVstoObject
для создания нового WorkbookWorksheetэлемента или Document узла во время выполнения. Этот метод можно использовать только для доступа к существующим ведущим элементам, созданным в текущем проекте во время разработки. Если вы хотите создать новые элементы узла во время выполнения, необходимо разработать проект надстройки VSTO. Дополнительные сведения см. в разделе "Программные ограничения" элементов узла и элементов управления узлами, а также расширение документов Word и книг Excel в надстройках VSTO во время выполнения.
Использование методов GetVstoObject и HasVstoObject
Чтобы вызвать HasVstoObject
и GetVstoObject
метод, используйте или Globals.Factory.HasVstoObject
метод и передайте Globals.Factory.GetVstoObject
собственный объект Word или Excel (например, или Document Worksheet), который требуется проверить.