Общие сведения о элементах размещения и элементах управления узлами

Ведущие элементы и элементы управления ведущего приложения — это типы элементов, помогающие предоставить модель программирования для решений Office, созданных с помощью средств разработки Office в Visual Studio. Ведущие элементы и элементы управления осуществляют взаимодействие с объектными моделями Microsoft Office Word и Microsoft Office Excel, основанными на модели COM, больше похожее на взаимодействие с управляемыми объектами, такими как элементы управления Windows Forms.

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

Элементы узла

Ведущие элементы являются типами в верхней части иерархии объектной модели в проектах Office. Среда выполнения набор средств Visual Studio для Office определяет следующие элементы узла для решений Word и Excel:

  • Document

  • Workbook

  • Worksheet

  • ChartSheet

    Каждый из этих типов расширяет объект, встроенный в объектной модели Word или Excel объектной модели, который называется собственным объектом Office. Например, ведущий элемент Document расширяет объект Document , который определен в основной сборке взаимодействия для Word.

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

  • Возможность размещения управляемых элементов управления, включая элементы управления ведущего приложения и элементы управления Windows Forms.

  • Расширенные модели событий. Некоторые события документа, книги и листа в собственных объектных моделях Word и Excel вызываются только на уровне приложения. Ведущие элементы предоставляют такие события на уровне документа; это упрощает обработку событий для конкретного документа.

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

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

Ведущие элементы Document и Worksheet имеют связанные конструкторы, являющиеся визуальным представлением документа или листа, как конструктор Windows Forms. Этот конструктор можно использовать для изменения содержимого документа или листа непосредственно в Word или Excel и для перетаскивания элементов управления в рабочую область конструирования. Дополнительные сведения см. в разделе "Элемент узла документа" и узел листа.

Ведущий элемент Workbook не действует как контейнер для элементов управления, имеющихся в пользовательском интерфейсе. Вместо этого конструктор для данного ведущего элемента функционирует как область компонентов, что позволяет перетаскивать компоненты, такие как DataSet, в рабочую область конструирования. Дополнительные сведения см. в разделе "Узел книги".

Ведущие элементы нельзя создавать программными средствами в проектах уровня документа. Вместо этого используйте классы ThisDocument, ThisWorkbookили Sheetn , которые Visual Studio автоматически создает в проекте во время разработки. Эти созданные классы являются производными от ведущих элементов и обеспечивают точку входа для кода. Дополнительные сведения см. в разделе "Программные ограничения" элементов узла и элементов управления узлами.

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

При создании надстройки VSTO у вас нет доступа к элементам узла по умолчанию. Тем не менее вы можете создать ведущие элементы Document, Workbookи Worksheet в надстройках VSTO Word и Excel в среде выполнения.

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

Элементы управления ведущего приложения

Элементы управления ведущего приложения расширяют различные объекты пользовательского интерфейса в объектных моделях Word и Excel, таких как объекты Microsoft.Office.Interop.Word.ContentControl и Range.

Для проектов Excel доступны следующие элементы управления ведущего приложения.

  • Элемент управления Диаграмма

  • Элемент управления ListObject

  • Элемент управления NamedRange

  • Элемент управления XmlMappedRange

    Для проектов Word доступны следующие элементы управления ведущего приложения.

  • Элемент управления "Закладка"

  • Элементы управления содержимым

  • Элемент управления XMLNode

  • Элемент управления XMLNodes

    Элементы управления ведущего приложения, добавленные в документы Office, ведут себя как встроенные объекты Office; однако элементы управления ведущего приложения имеют дополнительные функциональные возможности, включая события и возможности привязки данных. Например, если требуется записать события встроенного объекта Range в Excel, вы должны сначала обработать событие изменения листа. Затем необходимо определить, произошло ли изменение в Range. В отличие от этого, элемент управления ведущего приложения NamedRange имеет событие Change , которое может обрабатываться непосредственно.

    Связь между элементом узла и элементами управления узла похожа на связь между элементами управления Windows Form и Windows Forms. Элемент управления NamedRange помещается в ведущий элемент Worksheet так же, как элемент управления "текстовое поле" помещается в форму Windows Forms. На следующем рисунке показана связь между ведущими элементами и элементами управления ведущего приложения.

    Relationship between host items and host controls

    Вы также можете использовать в решениях Office элементы управления Windows Forms, добавляя их непосредственно в область документа Word и Excel. Дополнительные сведения см. в разделе "Элементы управления Windows Forms" в документах Office.

Примечание.

Добавление элементов управления ведущего приложения или элементов управления Windows Forms во вложенный документ Word не поддерживается.

Добавление элементов управления узла в документы

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

Элементы управления узлами имен

При перетаскивании элемента управления ведущего приложения из панели элементов в документ этому элементу управления автоматически присваивается имя в виде типа элемента управления с последовательным номером. Например, закладки именуются как bookmark1, bookmark2и т. д. При добавлении элемента управления с помощью встроенной функциональности Word или Excel вы можете назначить ему определенное имя во время его создания. Вы также можете переименовывать свои элементы управления, изменяя значение свойства Имя в окне Свойства .

Примечание.

Для именования элементов управления ведущего приложения нельзя использовать зарезервированные слова. Например, если вы добавите в лист элемент управления NamedRange и измените его имя на System, при сборке проекта возникнут ошибки.

Удаление элементов управления узлом

В проектах на уровне документа можно удалить элементы управления узлами во время разработки, выбрав элемент управления на листе Excel или документе Word и нажав клавишу DELETE . Однако для удаления элементов управления вы должны использовать диалоговое окно Присвоение имени NamedRange в Excel.

Если элемент управления ведущего приложения добавлен в документ во время разработки, не следует удалять его программными средствами во время выполнения, поскольку при следующей попытке использовать этот элемент управления в коде возникнет исключение. Метод Delete элемента управления ведущего приложения удаляет только элементы управления ведущего приложения, добавленные в документ во время выполнения. Если вы вызовете метод Delete элемента управления ведущего приложения, созданного во время разработки, возникнет исключение.

Например, метод Delete элемента управления NamedRange успешно удаляет NamedRange , только если он был добавлен в лист программным образом, который называется динамическим созданием элементов управления ведущего приложения. Динамически созданные элементы управления ведущего приложения можно также удалить, передав имя элемента управления в метод Remove свойства Controls или Controls . Дополнительные сведения см. в разделе "Добавление элементов управления в документы Office во время выполнения".

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

Примечание.

Не удаляйте программным образом элементы управления во время работы обработчика событий Shutdown документа или листа. Если возникает событие Shutdown , элементы пользовательского интерфейса становятся недоступными. Если вы хотите удалить элементы управления до закрытия приложения, добавьте свой код в другой обработчик событий, например в BeforeClose или BeforeSave.

Программа для событий управления узлом

Один из способов, которым элементы управления ведущего приложения расширяют объекты Office, является добавление событий. Например, Range объект в Excel и Bookmark объекте в Word не имеет событий, но среда выполнения набор средств Visual Studio для Office расширяет эти объекты путем добавления программируемых событий. Вы можете получать доступ к этим событиям и программировать реакцию на них так же, как это делается с событиями элементов управления в Windows Forms: через раскрывающийся список событий в Visual Basic и страницу свойств событий в C#. Дополнительные сведения см. в пошаговом руководстве. Программа для событий элемента управления NamedRange.

Примечание.

Не устанавливайте для свойства EnableEvents объекта Application в Excel значение false. Установка для этого свойства значения false предотвращает инициирование каких-либо событий в Excel, включая события элементов управления ведущего приложения.