Пошаговое руководство. Создание настраиваемой вкладки с помощью XML-лент
В данном пошаговом руководстве демонстрируется, как создать настраиваемую вкладку ленты при помощи элемента Лента (XML).
Применение. Сведения этого раздела применяются к проектам уровня документа и уровня приложения для следующих приложений: Excel 2013 и Excel 2010; InfoPath 2013 и InfoPath 2010; Outlook 2013 и Outlook 2010; PowerPoint 2013 и PowerPoint 2010; Project 2013 и Project 2010; Visio 2013 и Visio 2010; Word 2013 и Word 2010. Дополнительные сведения см. в разделе Доступность функций по типам приложений Office и проектов.
В данном пошаговом руководстве рассмотрены следующие задачи:
Добавление кнопок к вкладке Надстройки.Вкладка Надстройки является вкладкой, определенной по умолчанию в XML-файле ленты.
Автоматизация Microsoft Office Word с помощью кнопок на вкладке Надстройки.
Примечание |
---|
Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в следующих инструкциях.Эти элементы определяются используемым выпуском Visual Studio и его параметрами.Дополнительные сведения см. в разделе Параметры Visual Studio. |
Обязательные компоненты
Ниже приведены компоненты, необходимые для выполнения данного пошагового руководства.
-
Выпуск Visual Studio 2012, включающий инструменты разработчика Microsoft Office. Дополнительные сведения см. в разделе [Настройка компьютера для разработки решений Office](bb398242\(v=vs.110\).md).
- Word 2010 или Word 2013.
Для просмотра связанных демонстрационных видеороликов перейдите по ссылке How Do I: Use the Ribbon Designer to Customize the Ribbon in Excel?.
Создание проекта
Для начала следует создать проект надстройки Word.После этого следует настроить вкладку Надстройки данного документа.
Создание нового проекта
Создайте проект Надстройка Word с именем MyRibbonAddIn.
Дополнительные сведения см. в разделе Практическое руководство. Создание проектов Office в Visual Studio.
Visual Studio открывает файл кода ThisAddIn.cs или ThisAddIn.vb и добавляет проект MyRibbonAddIn к Обозревателю решений.
Создание вкладки надстройки
Для создания вкладки Надстройки, добавьте элемент Лента (XML) к проекту.После этого, в этом пошаговом руководстве, к этой вкладке будут добавлены кнопки.
Создание вкладки надстройки
В меню Проект выберите команду Добавить новый элемент.
В диалоговом окне Добавить новый элемент выберите элемент Лента (XML).
Измените имя новой ленты на MyRibbon и нажмите кнопку Добавить.
В конструкторе открывается файл MyRibbon.cs или MyRibbon.vb.XML-файл с именем MyRibbon.xml также добавляется к проекту.
В обозревателе решений щелкните правой кнопкой мыши файл ThisAddin.cs или ThisAddin.vb, затем выберите команду Перейти к коду.
Добавьте следующий код к классу ThisAddin.Этот код переопределяет метод CreateRibbonExtensibilityObject и возвращает класс XML-ленты приложению Office.
Protected Overrides Function CreateRibbonExtensibilityObject() As _ Microsoft.Office.Core.IRibbonExtensibility Return New MyRibbon() End Function
protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject() { return new MyRibbon(); }
В обозревателе решений щелкните правой кнопкой мыши проект MyRibbonAddIn, затем щелкните пункт Построение.Убедитесь, что проект строится без ошибок.
Добавление кнопок к вкладке надстроек
Цель этой надстройки — предоставить пользователям способ добавлять текст шаблона и специальную таблицу к активному документу.Для обеспечения интерфейса пользователя, добавьте две кнопки к вкладке Надстройки, изменив файл XML-ленты.Далее, в этом пошаговом руководстве будут определены методы обратного вызова для кнопок.Дополнительные сведения о XML-файлах ленты см. в разделе XML-ленты.
Добавление кнопок к вкладке "Надстройки"
В обозревателе решений щелкните правой кнопкой мыши узел MyRibbon.xml, а затем нажмите кнопку Открыть.
Замените содержимое элемента tab следующим XML-кодом.Этот XML-код заменяет метки группы элементов управления по умолчанию на Content, а также добавляет две новых кнопки с метками Insert Text и Insert Table.
<tab idMso="TabAddIns"> <group id="ContentGroup" label="Content"> <button id="textButton" label="Insert Text" screentip="Text" onAction="OnTextButton" supertip="Inserts text at the cursor location."/> <button id="tableButton" label="Insert Table" screentip="Table" onAction="OnTableButton" supertip="Inserts a table at the cursor location."/> </group> </tab>
Автоматизация документа с использованием кнопок
Следует добавить методы обратного вызова onAction для кнопок Вставить текст и Вставить таблицу, чтобы выполнить действия при нажатии пользователем кнопок.Дальнейшие сведения о методах обратного вызова для элемента управления лента, см. XML-ленты.
Добавление методов обратного вызова для кнопок
В обозревателе решений щелкните правой кнопкой мыши MyRibbon.cs или MyRibbon.vb, а затем нажмите кнопку Открыть.
Добавьте следующий код в начало файла MyRibbon.cs или MyRibbon.vb.В этом коде создается псевдоним Microsoft.Office.Interop.Word для пространства имен.
Imports Word = Microsoft.Office.Interop.Word
using Word = Microsoft.Office.Interop.Word;
Добавьте следующий метод в класс MyRibbon.Это — метод обратного вызова для кнопки Вставить текст, добавляющий строку к активному элементу по текущему положению курсора.
Public Sub OnTextButton(ByVal control As Office.IRibbonControl) Dim currentRange As Word.Range = Globals.ThisAddIn.Application.Selection.Range currentRange.Text = "This text was added by the Ribbon." End Sub
public void OnTextButton(Office.IRibbonControl control) { Word.Range currentRange = Globals.ThisAddIn.Application.Selection.Range; currentRange.Text = "This text was added by the Ribbon."; }
Добавьте следующий метод в класс MyRibbon.Это — метод обратного вызова для кнопки Вставить таблицу, добавляющий таблицу к активному элементу по текущему положению курсора.
Public Sub OnTableButton(ByVal control As Office.IRibbonControl) Dim missing As Object = System.Type.Missing Dim currentRange As Word.Range = Globals.ThisAddIn.Application.Selection.Range Dim newTable As Word.Table = Globals.ThisAddIn.Application.ActiveDocument.Tables.Add( _ currentRange, 3, 4) ' Get all of the borders except for the diagonal borders. Dim borders() As Word.Border = New Word.Border(6) {} borders(0) = newTable.Borders(Word.WdBorderType.wdBorderLeft) borders(1) = newTable.Borders(Word.WdBorderType.wdBorderRight) borders(2) = newTable.Borders(Word.WdBorderType.wdBorderTop) borders(3) = newTable.Borders(Word.WdBorderType.wdBorderBottom) borders(4) = newTable.Borders(Word.WdBorderType.wdBorderHorizontal) borders(5) = newTable.Borders(Word.WdBorderType.wdBorderVertical) ' Format each of the borders. For Each border As Word.Border In borders border.LineStyle = Word.WdLineStyle.wdLineStyleSingle border.Color = Word.WdColor.wdColorBlue Next End Sub
public void OnTableButton(Office.IRibbonControl control) { object missing = System.Type.Missing; Word.Range currentRange = Globals.ThisAddIn.Application.Selection.Range; Word.Table newTable = Globals.ThisAddIn.Application.ActiveDocument.Tables.Add( currentRange, 3, 4, ref missing, ref missing); // Get all of the borders except for the diagonal borders. Word.Border[] borders = new Word.Border[6]; borders[0] = newTable.Borders[Word.WdBorderType.wdBorderLeft]; borders[1] = newTable.Borders[Word.WdBorderType.wdBorderRight]; borders[2] = newTable.Borders[Word.WdBorderType.wdBorderTop]; borders[3] = newTable.Borders[Word.WdBorderType.wdBorderBottom]; borders[4] = newTable.Borders[Word.WdBorderType.wdBorderHorizontal]; borders[5] = newTable.Borders[Word.WdBorderType.wdBorderVertical]; // Format each of the borders. foreach (Word.Border border in borders) { border.LineStyle = Word.WdLineStyle.wdLineStyleSingle; border.Color = Word.WdColor.wdColorBlue; } }
Проверка надстройки
При выполнении проекта открывается Word, и на ленте появляется вкладка с именем Надстройки.Insert Text и Insert Table на вкладке Надстройки.
Проверка надстройки
Нажмите клавишу F5 для запуска проекта.
Подтвердите, что вкладка Надстройки видима на ленте.
Щелкните вкладку Надстройки.
Подтвердите, что группа Содержимое видна на ленте.
Щелкните кнопку Вставить текст в группе Содержимое.
Строка добавляется к документу в текущее положение курсора.
Щелкните кнопку Вставить таблицу в группе Содержимое.
Таблица добавляется к документу в текущее положение курсора.
Следующие действия
Дополнительные сведения о настройке пользовательского интерфейса Office см. в следующих разделах:
Настройка ленты различных приложений Office.Дополнительные сведения о приложениях, поддерживающих настройку ленты, см. в разделе Обзор ленты.
Настройка ленты приложения Office с помощью конструктора ленты.Дополнительные сведения см. в разделе Конструктор лент.
Создание настраиваемой области задач.Дополнительные сведения см. в разделе Общие сведения о панели действий.
Настройка интерфейса пользователя Microsoft Office Outlook с помощью области формы Outlook.Дополнительные сведения см. в разделе Пошаговое руководство. Разработка области формы Outlook.
См. также
Задачи
Пошаговое руководство. Создание настраиваемой вкладки с помощью конструктора лент