Пошаговое руководство. Создание настраиваемой вкладки с помощью XML-лент
Обновлен: Ноябрь 2007
Применимость |
---|
Сведения в данном разделе относятся только к указанным проектам Visual Studio Tools for Office и версиям приложений Microsoft Office. Тип проекта
Версия Microsoft Office
Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов. |
В данном пошаговом руководстве демонстрируется, как создать настраиваемую вкладку ленты при помощи элемента Лента (XML).
В этом пошаговом руководстве представлены следующие задачи:
Добавление кнопок к вкладке Надстройки. Вкладка Надстройки является вкладкой, определенной по умолчанию в XML-файле ленты.
Автоматизация Microsoft Office Word 2007 с помощью кнопок на вкладке Надстройки.
![]() |
---|
На компьютере могут отображаться разные имена или расположения некоторых элементов пользовательского интерфейса Visual Studio, отличающиеся от указанных в дальнейших инструкциях. Эти элементы определяются используемой версией Visual Studio и ее параметрами. Дополнительные сведения см. в разделе Параметры Visual Studio. |
Обязательные компоненты
Для выполнения инструкций данного пошагового руководства необходимы следующие компоненты:
Visual Studio Tools for Office (необязательный компонент Visual Studio 2008 Professional и Visual Studio Team System).
Microsoft Office Word 2007.
Visual Studio Tools for Office устанавливается по умолчанию с перечисленными версиями Visual Studio. Чтобы проверить, установлен ли данный пакет инструментов, см. раздел Установка средств Visual Studio для Office.
Создание проекта
Для начала следует создать проект надстройки Word 2007. После этого следует настроить вкладку Надстройки данного документа.
Создание нового проекта
Создайте проект Надстройка Word с именем MyRibbonAddIn.
Убедитесь, что используется шаблон проекта Надстройка Word для выпуска 2007 системы Microsoft Office. Дополнительные сведения см. в разделе Практическое руководство. Создание проектов Visual Studio Tools for Office.
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 2007, и вкладка с именем Надстройки появляется на месте. Insert Text и Insert Table на вкладке Надстройки.
Проверка надстройки
Нажмите клавишу F5 для запуска проекта.
Подтвердите, что вкладка Надстройки видима на ленте.
Щелкните вкладку Надстройки.
Подтвердите, что группа Содержимое видна на ленте.
Щелкните кнопку Вставить текст в группе Содержимое.
Строка добавляется к документу в текущее положение курсора.
Щелкните кнопку Вставить таблицу в группе Содержимое.
Таблица добавляется к документу в текущее положение курсора.
Следующие действия
Дополнительные сведения о настройке пользовательского интерфейса Office см. в следующих разделах:
Настройка ленты различных приложений Office. Дополнительные сведения о приложениях, поддерживающих настройку ленты, см. в разделе Обзор ленты.
Настройка ленты приложения Office с помощью конструктора ленты. Дополнительные сведения см. в разделе Конструктор лент.
Создание настраиваемой области задач. Дополнительные сведения см. в разделе Общие сведения о панели действий.
Настройка интерфейса пользователя Microsoft Office Outlook 2007, используя области формы Outlook. Дополнительные сведения см. в разделе Пошаговое руководство. Разработка области формы Outlook.
См. также
Задачи
Пошаговое руководство. Создание настраиваемой вкладки с помощью конструктора лент