Поделиться через


Пошаговое руководство. Автоматизация приложения из пользовательской области задач

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

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

Хотя в этом пошаговом руководстве используется PowerPoint, рассмотренная процедура применима к любым перечисленным выше приложениям.

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

  • проектирование пользовательского интерфейса настраиваемой области задач;

  • автоматизация PowerPoint в настраиваемой области задач;

  • отображение настраиваемой области задач в PowerPoint.

Примечание.

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

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

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

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

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

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

  1. Создайте проект надстройки VSTO для PowerPoint с именем MyAddIn, используя шаблон проекта надстройки PowerPoint. Дополнительные сведения см. в статье "Практическое руководство. Создание проектов Office в Visual Studio".

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

Проектирование пользовательского интерфейса настраиваемой области задач

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

Проектирование пользовательского интерфейса настраиваемой области задач

  1. В меню Проект выберите команду Добавить пользовательский элемент управления.

  2. В диалоговом окне Добавление нового элемента измените имя пользовательского элемента управления на MyUserControlи нажмите кнопку Добавить.

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

  3. Перетащите элемент управления MonthCalendar со вкладки Стандартные элементы управленияна панели элементов в пользовательский элемент управления.

    Если элемент управления MonthCalendar больше поверхности конструктора пользовательского элемента управления, измените размер пользовательского элемента управления в соответствии с размерами элемента управления MonthCalendar .

Автоматизация PowerPoint из настраиваемой области задач

Задача надстройки VSTO состоит в том, чтобы разместить выбранную дату на первом слайде активной презентации. Используйте событие DateChanged элемента управления, чтобы добавить выбранную дату при ее изменении.

Автоматизация PowerPoint в настраиваемой области задач

  1. В конструкторе дважды щелкните элемент управления MonthCalendar .

    Откроется файл MyUserControl.cs или MyUserControl.vb , и будет создан обработчик событий DateChanged .

  2. Добавьте следующий код в начало файла. Этот код создает псевдонимы для Microsoft.Office.Core пространств имен PowerPoint .

    using Office = Microsoft.Office.Core;
    using PowerPoint = Microsoft.Office.Interop.PowerPoint;
    
  3. Добавьте в класс MyUserControl приведенный далее код. Этот код объявляет объект Shape в качестве члена MyUserControl. На следующем шаге вы будете использовать эту фигуру для добавления текстового поля в слайд в активной презентации.

    private PowerPoint.Shape textbox;
    
  4. Замените обработчик событий monthCalendar1_DateChanged следующим кодом. Этот код добавляет текстовое поле на первый слайд активной презентации, а затем вставляет в это поле выбранную дату. Код использует объект Globals.ThisAddIn для получения доступа к объектной модели PowerPoint.

    private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
    {
        try
        {
            if (textbox != null)
            {
                textbox.Delete();
            }
    
            PowerPoint.Slide slide =
                Globals.ThisAddIn.Application.ActivePresentation.Slides[1];
            textbox = slide.Shapes.AddTextbox(
                Office.MsoTextOrientation.msoTextOrientationHorizontal,
                50, 100, 600, 50);
            textbox.TextFrame.TextRange.Text = e.Start.ToLongDateString();
            textbox.TextFrame.TextRange.Font.Size = 48;
            textbox.TextFrame.TextRange.Font.Color.RGB =
                 Color.DarkViolet.ToArgb();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }
    
  5. В обозревателе решенийщелкните проект MyAddIn правой кнопкой мыши и выберите пункт Сборка. Убедитесь, что сборка проекта выполняется без ошибок.

Отображение настраиваемой области задач

Для отображения настраиваемой области задач при запуске надстройки VSTO добавьте пользовательский элемент управления в область задач в обработчике событий Startup надстройки VSTO.

Отображение настраиваемой области задач

  1. В обозревателе решенийразверните PowerPoint.

  2. Щелкните правой кнопкой мыши файл ThisAddIn.cs или ThisAddIn.vb и выберите пункт Просмотреть код.

  3. Добавьте в класс ThisAddIn приведенный далее код. Этот код объявляет экземпляры MyUserControl и CustomTaskPane как члены класса ThisAddIn .

    private MyUserControl myUserControl1;
    private Microsoft.Office.Tools.CustomTaskPane myCustomTaskPane;
    
  4. Замените обработчик событий ThisAddIn_Startup следующим кодом. Этот код создает новый объект CustomTaskPane , добавляя объект MyUserControl в коллекцию CustomTaskPanes . Код также отображает область задач.

    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        myUserControl1 = new MyUserControl();
        myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl1, "Calendar");
        myCustomTaskPane.Visible = true;
    }
    

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

При запуске проекта открывается приложение PowerPoint и надстройка отображает настраиваемую область задач. Чтобы протестировать код, щелкните элемент управления MonthCalendar .

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

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

  2. Убедитесь в том, что настраиваемая область задач видна.

  3. Щелкните дату в элементе управления MonthCalendar в области задач.

    Дата вставляется на первом слайде активной презентации.

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

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