Пошаговое руководство. Создание настраиваемой вкладки с помощью XML ленты

В этом пошаговом руководстве показано, как создать пользовательскую вкладку ленты с помощью элемента ленты (XML ).

Область применения: сведения в этом разделе относятся к проектам на уровне документа и проектам надстроек VSTO для следующих приложений: Excel; InfoPath 2013 и InfoPath 2010; Outlook; Powerpoint; Проекта; Visio; Слово. Дополнительные сведения см. в разделе "Функции", доступные по Приложение Office ликации и типу проекта.

В этом пошаговом руководстве рассматриваются следующие задачи:

  • Добавление кнопок на вкладку "Надстройки ". Вкладка "Надстройки" — это вкладка по умолчанию, определенная в XML-файле ленты.

  • Автоматизация Microsoft Office Word с помощью кнопок на вкладке "Надстройки ".

Примечание.

Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в следующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Персонализация интегрированной среды разработки Visual Studio.

Необходимые компоненты

Для выполнения этого пошагового руководства требуются следующие компоненты:

Создание проекта

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

Создание проекта

  1. Создайте проект надстройки Word с именем MyRibbonAddIn.

    Дополнительные сведения см. в статье "Практическое руководство. Создание проектов Office в Visual Studio".

    Visual Studio открывает файл кода ThisAddIn.cs или ThisAddIn.vb и добавляет проект MyRibbonAddIn в Обозреватель решений.

Создание вкладки надстроек VSTO

Чтобы создать вкладку надстроек , добавьте элемент ленты (XML) в проект. Далее в этом пошаговом руководстве мы добавим некоторые кнопки на эту вкладку.

Создание вкладки надстроек

  1. В меню Проект выберите Добавить новый элемент.

  2. В диалоговом окне "Добавление нового элемента" выберите ленту (XML).

  3. Измените имя новой ленты на MyRibbonи нажмите кнопку Добавить.

    Файл MyRibbon.cs или MyRibbon.vb открывается в конструкторе. В проект также добавляется XML-файл с именем MyRibbon.xml .

  4. В Обозреватель решений щелкните правой кнопкой мыши ThisAddin.cs или ThisAddin.vb и выберите команду View Code.

  5. Добавьте следующий код в класс ThisAddin . Этот код переопределяет метод CreateRibbonExtensibilityObject и возвращает XML-класс ленты в приложение Office.

    protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
    {
        return new MyRibbon();
    }
    
  6. В Обозреватель решений щелкните правой кнопкой мыши проект MyRibbonAddIn и нажмите кнопку "Сборка". Убедитесь, что сборка проекта выполняется без ошибок.

Добавление кнопок на вкладку "Надстройки"

Данная надстройка VSTO предназначена для того, чтобы пользователи могли добавлять стандартный текст и конкретную таблицу в активный документ. Чтобы предоставить пользовательский интерфейс, добавьте две кнопки на вкладку надстроек , изменив XML-файл ленты. Далее в этом пошаговом руководстве мы определим методы обратного вызова для кнопок. Дополнительные сведения о XML-файле ленты см. в разделе XML ленты.

Добавление кнопок на вкладку "Надстройки"

  1. В Обозреватель решений щелкните правой кнопкой мыши MyRibbon.xml и нажмите кнопку "Открыть".

  2. Замените содержимое элемента tab следующим XML. Этот XML-код изменяет метку группы управления по умолчанию на Content, а также добавляет две новые кнопки с метками "Вставка текста " и "Вставка таблицы".

    <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-коде ленты.

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

  1. В Обозреватель решений щелкните правой кнопкой мыши MyRibbon.cs или MyRibbon.vb и нажмите кнопку "Открыть".

  2. Добавьте следующий код в начало файла MyRibbon.cs или MyRibbon.vb . Этот код создает псевдоним для пространства имен Microsoft.Office.Interop.Word.

    using Word = Microsoft.Office.Interop.Word;
    
  3. Добавьте приведенный ниже метод в класс MyRibbon. Это метод обратного вызова для кнопки "Вставка текста ", которая добавляет строку в активный документ в текущем расположении курсора.

    public void OnTextButton(Office.IRibbonControl control)
    {
        Word.Range currentRange = Globals.ThisAddIn.Application.Selection.Range;
        currentRange.Text = "This text was added by the Ribbon.";
    }
    
  4. Добавьте приведенный ниже метод в класс MyRibbon. Это метод обратного вызова для кнопки "Вставка таблицы ", которая добавляет таблицу в активный документ в текущем расположении курсора.

    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;
        }
    }
    

Тестирование надстройки VSTO

При запуске проекта в Word откроется вкладка с именем надстройки на ленте. Нажмите кнопки "Вставить текст " и "Вставить таблицу " на вкладке "Надстройки" , чтобы проверить код.

Для тестирования надстройки VSTO выполните следующие действия.

  1. Нажмите клавишу F5 для запуска проекта.

  2. Убедитесь, что вкладка "Надстройки" отображается на ленте.

  3. Перейдите на вкладку Надстройки .

  4. Убедитесь, что группа контента отображается на ленте.

  5. Нажмите кнопку "Вставить текст" в группе содержимого.

    Строка добавляется в документ в текущем положении курсора.

  6. Нажмите кнопку "Вставить таблицу" в группе содержимого.

    Таблица добавляется в документ в текущем положении курсора.

Следующие шаги

Дополнительные сведения о настройке пользовательского интерфейса Office см. в следующих разделах:

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

  • Настройте ленту Приложение Office ликации с помощью конструктора лент. Для получения дополнительной информации см. Ribbon Designer.

  • Создание настраиваемой панели действий. Дополнительные сведения см. в обзоре области действий.

  • Настройка пользовательского интерфейса для Microsoft Office Outlook с помощью областей формы Outlook. Дополнительные сведения см. в пошаговом руководстве. Проектирование области формы Outlook.