Общие сведения о панели действий

Панель действий — это настраиваемая область задач Действия с документами, прикрепляемая к отдельному документу Microsoft Office Word или книге Microsoft Office Excel.Она размещается внутри области задач Office вместе с другими областями задач, такими как Источник XML в Excel или Стили и форматирование в Word.Для разработки интерфейса панели действий можно использовать элементы управления Windows Forms или WPF.

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

Панель действий можно создать только в настройке уровня документа для Word или Excel.Создать панель действий в надстройке уровня приложения невозможно.Дополнительные сведения см. в разделе Доступность функций по типам приложений Office и проектов.

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

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

ссылка на видео Для просмотра связанных демонстрационных видеороликов перейдите по ссылке Инструкции. Использование элементов управления WPF в панели действий Excel (на английском языке).

Отображение панели действий

Панель действий представлена классом ActionsPane.При создании проекта уровня документа экземпляр данного класса доступен для кода при использовании в проекте поля ActionsPane класса ThisWorkbook (для Excel) или ThisDocument (для Word).Чтобы отобразить панель действий, следует добавить элемент управления Windows Forms в свойство Controls поля ActionsPane.В следующем примере кода на панель действия добавляется элемент управления с именем actions.

Me.ActionsPane.Controls.Add(actions)
this.ActionsPane.Controls.Add(actions);

Панель действий становится видимой во время выполнения, когда на нее явным образом добавляется элемент управления.После отображения панели действий можно динамически добавлять или удалять элементы управления в ответ на действия пользователя.Обычно для отображения панели действий следует добавить код в обработчик событий Startup класса ThisDocument или ThisWorkbook, так что панель действий становится видимой, когда пользователь открывает документ впервые.Однако возможно отображение панели только в ответ на действия пользователя в документе.Например, можно добавить код в событие Click элемента управления в документе.

7we49he1.collapse_all(ru-ru,VS.110).gifДобавление нескольких элементов управления на панель действий

При добавлении нескольких элементов на панель действий в большинстве случаев необходимо объединить элементы управления в пользовательский элемент управления, а затем добавить пользовательский элемент управления в свойство Controls.Данная процедура включает следующие шаги:

  1. Создание пользовательского интерфейса в панели действий посредством добавления в проект элемента Элемент управления панели действий или Пользовательский элемент управления.Оба эти элемента включают настраиваемый класс Windows Forms UserControl.Элементы Элемент управления панели действий и Пользовательский элемент управления эквивалентны; они отличаются только именами.

  2. Добавление элемента управления Windows Forms в элемент UserControl с помощью конструктора или посредством написания кода.

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

    Также можно добавить на панель действий элементы управления WPF посредством добавления System.Windows.Controls.UserControl WPF в UserControl Windows Forms.Дополнительные сведения см. в разделе Использование элементов управления WPF в решениях Office.

  3. Добавление экземпляра настраиваемого пользовательского элемента управления в элементы управления, которые содержатся в поле ActionsPane класса ThisWorkbook (для Excel) или ThisDocument (для Word) в проекте.

Примеры, демонстрирующие этот процесс подробно см. в разделе Практическое руководство. Добавление области действий в документы Word или книги Excel.

Скрытие панели действий

Хотя класс ActionsPane содержит метод Hide и свойство Visible, нельзя удалить панель действий с пользовательского интерфейса с помощью членов класса ActionsPane.Вызов метода Hide или присвоение свойству Visible значения false скрывает только элементы управления в панели действий, но не саму панель.

Скрыть панель задач в решении можно одним из следующих способов:

  • Для Word: следует присвоить свойству Visible объекта TaskPane, представляющего панель задач "Действия с документом", значение false.Следующий пример кода предполагается запускать из класса ThisDocument в проекте.

    Me.Application.TaskPanes(Word.WdTaskPanes.wdTaskPaneDocumentActions).Visible = False
    
    this.Application.TaskPanes[Word.WdTaskPanes.wdTaskPaneDocumentActions].Visible = false;
    
  • Для Excel: следует присвоить свойству DisplayDocumentActionTaskPane объекта Application значение false.Следующий пример кода предполагается запускать из класса ThisWorkbook в проекте.

    Me.Application.DisplayDocumentActionTaskPane = False
    
    this.Application.DisplayDocumentActionTaskPane = false;
    
  • Для Word или Excel: можно в качестве альтернативы присвоить свойству CommandBar.Visible командной строки, представляющей панель задач, значение false.Следующий пример кода предполагается запускать из класса ThisDocument или ThisWorkbook в проекте.

    Me.Application.CommandBars("Task Pane").Visible = False
    
    this.Application.CommandBars["Task Pane"].Visible = false;
    

7we49he1.collapse_all(ru-ru,VS.110).gifОчистка панели действий при открытии документа

Если пользователь сохраняет документ, когда панель действий видима, то панель видна при каждом открытии документа независимо от того, содержит ли она какие-либо элементы управления.Если требуется управлять отображением панели действий, следует вызвать метод Clear поля ActionsPane в обработчике событий Startup класса ThisDocument или ThisWorkbook, чтобы убедиться, что панель действий невидима при открытии документа.

7we49he1.collapse_all(ru-ru,VS.110).gifОпределение закрытия панели действий

При закрытии панели событие не вызывается.Хотя класс ActionsPane содержит событие VisibleChanged, данное событие не вызывается при закрытии конечным пользователем панели действий.Вместо этого, событие вызывается, когда элементы управления в панели действий скрываются посредством вызова метода Hide или присвоения свойству Visible значения false.

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

Отображение панели действий с помощью пользовательского интерфейса Word или Excel

  1. На ленте выберите вкладку Вид.

  2. В группе Отобразить/скрыть щелкните выключатель Действия с документом.

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

Можно добавить несколько элементов управления на панель действий и затем написать код, отвечающий на события документа, отображая и скрывая пользовательские элементы управления.Если сопоставить элементы схемы XML с документом, можно отобразить определенные пользовательские элементы управления в панели действий, если точка вставки находится внутри одного из XML-элементов.Дополнительные сведения см. в разделах Практическое руководство. Сопоставление схем и документов Word в Visual Studio и Практическое руководство. Сопоставление схем и листов внутри Visual Studio.

Также можно написать код, реагирующий на события любого объекта, включая элемент управления ведущего приложения, события приложение или документа.Дополнительные сведения см. в разделе Пошаговое руководство. Программирование реакции на события элементов управления NamedRange.

Привязка данных к элементам управления в панели действий

Элементы управления в панели действий имеют такие же возможности привязки данных, как и элементы управления в Windows Forms.Можно выполнять привязку элементов управления к наборам данных, типизированным наборам данных и XML.Дополнительные сведения см. в разделе Связывание данных и Windows Forms.

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

Проверка данных в элементах управления в панели действий

При отображении окна сообщения в обработчике событий Validating элемента управления в панели действий событие может быть вызвано во второй раз при перемещении фокуса от элемента управления на окно сообщения.Чтобы это предотвратить следует использовать элемент управления ErrorProvider для отображения сообщений об ошибке.

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

При использовании нескольких пользовательских элементов управления можно написать код, чтобы правильно разместить пользовательские элементы управления в панели действий в зависимости от того, закреплена ли она вертикально или горизонтально.Можно задать порядок добавления пользовательских элементов управления на панель действий с помощью перечисления StackStyle свойства StackOrder.Дополнительные сведения см. в разделе Практическое руководство. Управление структурой элементов управления в панели действий.

Свойство StackOrder может принимать следующие значения перечисления StackStyle.

Стили добавления элементов

Определение

FromBottom

Добавление элементов с нижней части панели действий.

FromLeft

Добавление элементов с левой части панели действий.

FromRight

Добавление элементов с правой части панели действий.

FromTop

Добавление элементов с верхней части панели действий.

None

Порядок добавления элементов не определен; порядок задается разработчиком.

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

Me.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromTop
this.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromTop;

Привязка элементов управления

Если пользователь изменяет размер панели действий во время выполнения, размер элементов управления также может изменяться вместе с панелью действий.Можно также использовать свойство Anchor элемента управления Windows Forms, чтобы закрепить элементы управления в панели действий.Можно закрепить элементы управления Windows Forms на пользовательском элементе точно так же, как и другие элементы управления.Дополнительные сведения см. в разделе Практическое руководство. Привязка элементов управления в формах Windows Forms.

Изменение размера панели действий

Напрямую изменить размер ActionsPane нельзя, так как класс ActionsPane встроен в область задач.Однако можно программными средствами изменить ширину области задач, задав значение свойства Width класса CommandBar, представляющего область задач.Можно изменить высоту области задач, если она закреплена горизонтально или является перемещаемой.

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

Me.CommandBars("Task Pane").Width = 200
this.CommandBars["Task Pane"].Width = 200;

Изменение расположения панели действий

Напрямую изменить расположение панели действий ActionsPane нельзя, так она встроена в область задач.Однако можно программными средствами переместить область задач, задав значение свойства Position класса CommandBar, представляющего область задач.

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

Me.CommandBars("Task Pane").Position = _
    Microsoft.Office.Core.MsoBarPosition.msoBarLeft
this.CommandBars["Task Pane"].Position =
    Microsoft.Office.Core.MsoBarPosition.msoBarLeft;
ПримечаниеПримечание

Конечные пользователи в любое время могут вручную переместить область задач.Нет способа, который мог бы обеспечить то, что область задач будет закреплена в положении, заданном программными средствами.Однако можно проверить изменение ориентации и обеспечить правильное направление при добавлении элементов управления в панели действий.Дополнительные сведения см. в разделе Практическое руководство. Управление структурой элементов управления в панели действий.

Присвоение значений свойствам Top и Left панели действий ActionsPane не изменяет ее положения, так как объект ActionsPane встроен в область задач.

Если область задач не закреплена, можно изменить свойства Top и Left класса CommandBar, представляющего область задач.В следующем примере кода панель действий перемещается в верхний левый угол документа.

If Me.CommandBars("Task Pane").Position = _
    Microsoft.Office.Core.MsoBarPosition.msoBarFloating Then

    Me.CommandBars("Task Pane").Top = 0
    Me.CommandBars("Task Pane").Left = 0

End If
if (this.CommandBars["Task Pane"].Position == 
    Microsoft.Office.Core.MsoBarPosition.msoBarFloating)
{
    this.CommandBars["Task Pane"].Top = 0;
    this.CommandBars["Task Pane"].Left = 0;
}

См. также

Задачи

Практическое руководство. Добавление области действий в документы Word или книги Excel

Пошаговое руководство. Вставка текста в документ из панели действий

Пошаговое руководство. Привязка данных к элементам управления в панели действий Word

Пошаговое руководство. Привязка данных к элементам управления в панели действий Excel

Практическое руководство. Управление структурой элементов управления в панели действий

Пошаговое руководство. Вставка текста в документ из панели действий

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

Использование элементов управления WPF в решениях Office

Глобальный доступ к объектам в проектах Office

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

Настройка пользовательского интерфейса Office