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


Добавление элементов управления Windows Forms в документы Office

Вы можете добавить элементы управления Windows Forms в документы Microsoft Office Word и Microsoft Office Excel во время разработки в проектах уровня документа. Во время выполнения можно добавлять элементы управления в настройки на уровне документа и в надстройках VSTO. Например, можно добавить ComboBox элемент управления на лист, чтобы пользователи могли выбрать из списка параметров.

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

В этом разделе описываются следующие задачи.

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

Вы можете добавить элементы управления Windows Forms в документ в проекте на уровне документа во время разработки несколькими способами.

Примечание.

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

Перетаскивание элемента управления Windows Forms в документ

  1. Создайте или откройте проект книги Excel или документа Word в Visual Studio, чтобы документ был виден в конструкторе. Сведения о создании проектов см. в статье "Практическое руководство. Создание проектов Office в Visual Studio".

  2. На вкладке "Общие элементы управления" панели элементов щелкните элемент управления, который нужно добавить, и перетащите его в документ.

    Примечание.

    При выборе элемента управления в Excel вы увидите =EMBED("WinForms.Control.Host","") в строке формул. Этот текст обязательный, его не следует удалять.

Рисование элемента управления Windows Forms в документе

  1. Создайте или откройте проект книги Excel или документа Word в Visual Studio, чтобы документ был виден в конструкторе. Сведения о создании проектов см. в статье "Практическое руководство. Создание проектов Office в Visual Studio".

  2. На вкладке "Общие элементы управления" панели элементов щелкните элемент управления, который вы хотите добавить.

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

    Элемент управления добавляется в документ с указанным местоположением и размером.

    Примечание.

    При выборе элемента управления в Excel вы увидите =EMBED("WinForms.Control.Host","") в строке формул. Этот текст обязательный, его не следует удалять.

Добавление элемента управления Windows Forms в документ двойным щелчком элемента управления

  1. Создайте или откройте проект книги Excel или документа Word в Visual Studio, чтобы документ был виден в конструкторе. Сведения о создании проектов см. в статье "Практическое руководство. Создание проектов Office в Visual Studio".

  2. На вкладке "Общие элементы управления" панели элементов щелкните элемент управления, который вы хотите добавить.

  3. Щелкните место, где требуется добавить элемент управления, в документе.

    Элемент управления добавляется в документ с размером по умолчанию.

    Примечание.

    При выборе элемента управления в Excel вы увидите =EMBED("WinForms.Control.Host","") в строке формул. Этот текст обязательный, его не следует удалять.

Добавление элемента управления Windows Forms в документ двойным щелчком элемента управления

  1. Создайте или откройте проект книги Excel или документа Word в Visual Studio, чтобы документ был виден в конструкторе. Сведения о создании проектов см. в статье "Практическое руководство. Создание проектов Office в Visual Studio".

  2. На вкладке "Общие элементы управления" панели элементов дважды щелкните элемент управления, который вы хотите добавить.

    Элемент управления добавляется в центр документа или активной области документа.

    Примечание.

    При выборе элемента управления в Excel вы увидите =EMBED("WinForms.Control.Host","") в строке формул. Этот текст обязательный, его не следует удалять.

Добавление элемента управления Windows Forms в документ путем нажатия клавиши ВВОД

  1. Создайте или откройте проект книги Excel или документа Word в Visual Studio, чтобы документ был виден в конструкторе. Сведения о создании проектов см. в статье "Практическое руководство. Создание проектов Office в Visual Studio".

  2. На вкладке "Общие элементы управления" панели элементов щелкните элемент управления, который нужно добавить, и нажмите клавишу ВВОД.

    Элемент управления добавляется в центр документа или активной области документа.

    Примечание.

    При выборе элемента управления в Excel вы увидите =EMBED("WinForms.Control.Host","") в строке формул. Этот текст обязательный, его не следует удалять.

Добавление элементов управления во время выполнения в проектах на уровне документа

Вы можете программно добавлять элементы управления Windows Forms в документ во время выполнения. В Word используйте методы свойства Controls класса ThisDocument. В Excel используйте методы Controls свойства Sheetn-класса . У каждого метода есть несколько перегрузок, которые позволяют указать расположение элемента управления разными способами.

При добавлении элемента управления Windows Forms в документ во время выполнения элемент управления не сохраняется в документе при закрытии документа. Элемент управления можно восстановить при следующем открытии документа. Дополнительные сведения см. в разделе "Добавление элементов управления в документы Office во время выполнения".

Добавление элемента управления Windows Forms во время выполнения

  1. Используйте метод с именем Add<control class> (где класс элемента управления — это имя класса элемента управления Windows Forms, который требуется добавить, например AddButton).

    В следующем примере кода показано, как добавить ячейку ButtonC5Sheet1 в проект уровня документа для Excel.

    private void Sheet1_Startup(object sender, System.EventArgs e)
    {
        Microsoft.Office.Tools.Excel.Controls.Button salesButton;
        salesButton = this.Controls.AddButton(this.get_Range("C5"), "salesButton");
        salesButton.Text = "Calculate Total Sales";
    }
    

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

Элементы управления Windows Forms можно добавлять программным способом в любой открытый документ во время выполнения. Сначала создайте ведущий элемент, основанный на открытом документе или листе. Затем в Word используйте методы свойства Controls нового ведущего элемента. В Excel используйте методы свойства Controls нового ведущего элемента. У каждого метода есть несколько перегрузок, которые позволяют указать расположение элемента управления разными способами.

При добавлении элемента управления Windows Forms в документ во время выполнения элемент управления не сохраняется в документе при закрытии документа. Элемент управления можно восстановить при следующем открытии документа. Дополнительные сведения см. в разделе "Добавление элементов управления в документы Office во время выполнения".

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

Добавление элемента управления Windows Forms во время выполнения

  1. Используйте метод с именем Add<control class> (где класс элемента управления — это имя класса элемента управления Windows Forms, который требуется добавить, например AddButton).

    Примечание.

    В проектах надстроек VSTO, предназначенных для платформа .NET Framework 4 или более поздней версии, необходимо добавить ссылку на сборку Microsoft.Office.Tools.Excel.v4.0.Utilities.dll или Microsoft.Office.Tools.Word.v4.0.Utilities.dll, прежде чем получить доступ к методам класса> Add<control.

    В следующем примере кода показано, как добавить Button в первый абзац активного документа с помощью надстройки VSTO для Word.

    Microsoft.Office.Tools.Word.Controls.Button salesButton;
    
    Document extendedDocument = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
    
    
    extendedDocument.Paragraphs[1].Range.InsertParagraphBefore();
    salesButton = extendedDocument.Controls.AddButton(
        extendedDocument.Paragraphs[1].Range, 75, 18, "salesButton");
    salesButton.Text = "Calculate Sales";