Freigeben über


Gewusst wie: Hinzufügen von Windows Forms-Steuerelementen zu Office-Dokumenten

Sie können Microsoft Office Excel-Arbeitsblättern in Projekten auf Dokumentebene zur Entwurfszeit Windows Forms-Steuerelemente und Microsoft Office Word-Dokumente hinzufügen. Zur Laufzeit können Sie Steuerelemente in Anpassungen auf Dokumentebene und Add-Ins auf Anwendungsebene hinzufügen. Sie können dem Arbeitsblatt beispielsweise ein ComboBox-Steuerelement hinzufügen, sodass Benutzern eine Liste mit Optionen zur Auswahl bereitgestellt wird.

Betrifft: Die Informationen in diesem Thema betreffen Projekte auf Dokument- und Anwendungsebene für die folgenden Anwendungen: Excel 2007 und Excel 2010, Word 2007 und Word 2010. Weitere Informationen finden Sie unter Verfügbare Funktionen nach Office-Anwendung und Projekttyp.

In diesem Thema werden die folgenden Aufgaben erläutert:

  • Hinzufügen von Steuerelementen zur Entwurfszeit

  • Hinzufügen von Steuerelementen zur Laufzeit in Projekten auf Dokumentebene

  • Hinzufügen von Steuerelementen zur Laufzeit in Add-Ins auf Anwendungsebene

Link zu Video Eine entsprechende Videodemo finden Sie unter How Do I: Add Controls to a Document Surface at Runtime?.

Hinzufügen von Steuerelementen zur Entwurfszeit

Es gibt verschiedene Möglichkeiten, um Windows Forms-Steuerelemente zur Entwurfszeit einem Projekt auf Dokumentebene hinzuzufügen.

Tipp

Ihr Computer zeigt möglicherweise für einige der Elemente der Visual Studio-Benutzeroberfläche in der folgenden Anleitung andere Namen oder Standorte an. Diese Elemente sind von der jeweiligen Visual Studio-Version und den verwendeten Einstellungen abhängig. Weitere Informationen finden Sie unter Visual Studio-Einstellungen.

So ziehen Sie ein Windows Forms-Steuerelement auf das Dokument

  1. Erstellen oder öffnen Sie ein Excel-Arbeitsmappenprojekt bzw. Word-Dokumentprojekt in Visual Studio, sodass das Dokument im Designer angezeigt wird. Informationen zum Erstellen von Projekten finden Sie unter Gewusst wie: Erstellen von Office-Projekten in Visual Studio.

  2. Klicken Sie in der Toolbox auf der Registerkarte Allgemeine Steuerelemente auf das Steuerelement, das Sie hinzufügen möchten, und ziehen Sie es auf das Dokument.

    Tipp

    Wenn Sie in Excel ein Steuerelement auswählen, wird in der Bearbeitungsleiste =EMBED("WinForms.Control.Host","") angezeigt. Dieser Text ist notwendig und sollte nicht gelöscht werden.

So zeichnen Sie ein Windows Forms-Steuerelement in das Dokument

  1. Erstellen oder öffnen Sie ein Excel-Arbeitsmappenprojekt bzw. Word-Dokumentprojekt in Visual Studio, sodass das Dokument im Designer angezeigt wird. Informationen zum Erstellen von Projekten finden Sie unter Gewusst wie: Erstellen von Office-Projekten in Visual Studio.

  2. Klicken Sie in der Toolbox auf der Registerkarte Allgemeine Steuerelemente auf das Steuerelement, das Sie hinzufügen möchten.

  3. Klicken Sie im Dokument auf die Stelle, an der die obere linke Ecke des Steuerelements positioniert werden soll, und ziehen Sie den Mauszeiger an die Stelle, an der die untere rechte Ecke des Steuerelements positioniert werden soll.

    Das Steuerelement wird mit der angegebenen Größe und Position in das Dokument eingefügt.

    Tipp

    Wenn Sie in Excel ein Steuerelement auswählen, wird in der Bearbeitungsleiste =EMBED("WinForms.Control.Host","") angezeigt. Dieser Text ist notwendig und sollte nicht gelöscht werden.

So fügen Sie dem Dokument ein Windows Forms-Steuerelement durch einfaches Klicken auf das Steuerelement hinzu

  1. Erstellen oder öffnen Sie ein Excel-Arbeitsmappenprojekt bzw. Word-Dokumentprojekt in Visual Studio, sodass das Dokument im Designer angezeigt wird. Informationen zum Erstellen von Projekten finden Sie unter Gewusst wie: Erstellen von Office-Projekten in Visual Studio.

  2. Klicken Sie in der Toolbox auf der Registerkarte Allgemeine Steuerelemente auf das Steuerelement, das Sie hinzufügen möchten.

  3. Klicken Sie im Dokument auf die Stelle, an der das Steuerelement hinzugefügt werden soll.

    Das Steuerelement wird dem Dokument in der Standardgröße hinzugefügt.

    Tipp

    Wenn Sie in Excel ein Steuerelement auswählen, wird in der Bearbeitungsleiste =EMBED("WinForms.Control.Host","") angezeigt. Dieser Text ist notwendig und sollte nicht gelöscht werden.

So fügen Sie dem Dokument ein Windows Forms-Steuerelement durch Doppelklicken auf das Steuerelement hinzu

  1. Erstellen oder öffnen Sie ein Excel-Arbeitsmappenprojekt bzw. Word-Dokumentprojekt in Visual Studio, sodass das Dokument im Designer angezeigt wird. Informationen zum Erstellen von Projekten finden Sie unter Gewusst wie: Erstellen von Office-Projekten in Visual Studio.

  2. Doppelklicken Sie in der Toolbox auf der Registerkarte Allgemeine Steuerelemente auf das Steuerelement, das Sie hinzufügen möchten.

    Das Steuerelement wird dem Dokument in der Mitte des Dokuments oder in der Mitte des aktiven Bereichs hinzugefügt.

    Tipp

    Wenn Sie in Excel ein Steuerelement auswählen, wird in der Bearbeitungsleiste =EMBED("WinForms.Control.Host","") angezeigt. Dieser Text ist notwendig und sollte nicht gelöscht werden.

So fügen Sie dem Dokument ein Windows Forms-Steuerelement durch Drücken der EINGABETASTE hinzu

  1. Erstellen oder öffnen Sie ein Excel-Arbeitsmappenprojekt bzw. Word-Dokumentprojekt in Visual Studio, sodass das Dokument im Designer angezeigt wird. Informationen zum Erstellen von Projekten finden Sie unter Gewusst wie: Erstellen von Office-Projekten in Visual Studio.

  2. Klicken Sie in der Toolbox auf der Registerkarte Allgemeine Steuerelemente auf das Steuerelement, das Sie hinzufügen möchten, und drücken Sie die EINGABETASTE.

    Das Steuerelement wird dem Dokument in der Mitte des Dokuments oder in der Mitte des aktiven Bereichs hinzugefügt.

    Tipp

    Wenn Sie in Excel ein Steuerelement auswählen, wird in der Bearbeitungsleiste =EMBED("WinForms.Control.Host","") angezeigt. Dieser Text ist notwendig und sollte nicht gelöscht werden.

Hinzufügen von Steuerelementen zur Laufzeit in Projekten auf Dokumentebene

Sie können einem Dokument zur Laufzeit programmgesteuert Windows Forms-Steuerelemente hinzufügen. Verwenden Sie in Word die Methoden der Controls-Eigenschaft der ThisDocument-Klasse. Verwenden Sie in Excel die Methoden der Controls-Eigenschaft einer Sheetn-Klasse. Jede Methode verfügt über mehrere Überladungen, mit denen Sie den Speicherort des Steuerelements auf verschiedene Weise angeben können. Weitere Informationen hierzu finden Sie unter Hilfsmethoden für Windows Forms-Steuerelemente.

Wenn Sie einem Word-Dokument zur Laufzeit ein Windows Forms-Steuerelement hinzufügen, wird das Steuerelement beim Schließen des Dokuments nicht im Dokument beibehalten. Sie können das Steuerelement neu erstellen, wenn das Dokument erneut geöffnet wird. Weitere Informationen finden Sie unter Hinzufügen von Steuerelementen zu Office-Dokumenten zur Laufzeit.

So fügen Sie ein Windows Forms-Steuerelement zur Laufzeit hinzu

  • Verwenden Sie eine Methode mit dem Namen Add<Steuerelementklasse> (wobei Steuerelementklasse der Klassenname des Windows Forms-Steuerelements ist, das Sie hinzufügen möchten, z. B. AddButton()).

    Im folgenden Codebeispiel wird veranschaulicht, wie der Zelle C5 in Sheet1 ein Button in einem Projekt auf Dokumentebene für Excel hinzugefügt werden kann.

    Private Sub Sheet1_Startup(ByVal sender As Object, ByVal e As System.EventArgs) _
        Handles Me.Startup
    
        Dim salesButton As Microsoft.Office.Tools.Excel.Controls.Button
        salesButton = Me.Controls.AddButton(Me.Range("C5"), "salesButton")
        salesButton.Text = "Calculate Total Sales"
    End Sub
    
    private void Sheet1_Startup(object sender, System.EventArgs e)
    {
        Microsoft.Office.Tools.Excel.Controls.Button salesButton;
        salesButton = this.Controls.AddButton(this.get_Range("C5", missing), "salesButton");
        salesButton.Text = "Calculate Total Sales";
    }
    

Hinzufügen von Steuerelementen zur Laufzeit in Add-Ins auf Anwendungsebene

Sie können jedem offenen Dokument zur Laufzeit programmgesteuert Windows Forms-Steuerelemente hinzufügen. Generieren Sie zuerst ein Hostelement, das auf einem geöffneten Dokument oder Arbeitsblatt basiert. Verwenden Sie dann in Word die Methoden der Document.Controls-Eigenschaft des neuen Hostelements. Verwenden Sie in Excel die Methoden der Worksheet.Controls-Eigenschaft des neuen Hostelements. Jede Methode verfügt über mehrere Überladungen, mit denen Sie den Speicherort des Steuerelements auf verschiedene Weise angeben können. Weitere Informationen hierzu finden Sie unter Hilfsmethoden für Windows Forms-Steuerelemente.

Wenn Sie einem Word-Dokument zur Laufzeit ein Windows Forms-Steuerelement hinzufügen, wird das Steuerelement beim Schließen des Dokuments nicht im Dokument beibehalten. Sie können das Steuerelement neu erstellen, wenn das Dokument erneut geöffnet wird. Weitere Informationen hierzu finden Sie unter Hinzufügen von Steuerelementen zu Office-Dokumenten zur Laufzeit.

Weitere Informationen zum Generieren von Hostelementen in Projekten auf Anwendungsebene finden Sie unter Erweitern von Word-Dokumenten und Excel-Arbeitsmappen in Add-Ins auf Anwendungsebene zur Laufzeit.

So fügen Sie ein Windows Forms-Steuerelement zur Laufzeit hinzu

  • Verwenden Sie eine Methode mit dem Namen Add<Steuerelementklasse> (wobei Steuerelementklasse der Klassenname des Windows Forms-Steuerelements ist, das Sie hinzufügen möchten, z. B. AddButton()).

    Tipp

    In Add-In-Projekten auf Anwendungsebene, die auf .NET Framework 4 abzielen, müssen Sie einen Verweis auf die Assembly Microsoft.Office.Tools.Excel.v4.0.Utilities.dll oder Microsoft.Office.Tools.Word.v4.0.Utilities.dll hinzufügen, bevor Sie auf die Add<Steuerelementklasse>-Methoden zugreifen können.

    Das folgende Codebeispiel veranschaulicht, wie Sie dem ersten Absatz eines aktiven Dokuments mithilfe eines Word-Add-Ins einen Button hinzufügen.

    Dim salesButton As Microsoft.Office.Tools.Word.Controls.Button
    
    ' Use the following line of code in projects that target the .NET Framework 4.
    Dim extendedDocument As Document = Globals.Factory.GetVstoObject(Me.Application.ActiveDocument)
    
    ' In projects that target the .NET Framework 3.5, use the following line of code.
    ' Dim extendedDocument As Document = Me.Application.ActiveDocument.GetVstoObject()
    
    extendedDocument.Paragraphs(1).Range.InsertParagraphBefore()
    salesButton = extendedDocument.Controls.AddButton( _
        extendedDocument.Paragraphs(1).Range, 75, 18, "salesButton")
    salesButton.Text = "Calculate Sales"
    
    Microsoft.Office.Tools.Word.Controls.Button salesButton;
    
    // Use the following line of code in projects that target the .NET Framework 4.
    Document extendedDocument = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
    
    // In projects that target the .NET Framework 3.5, use the following line of code.
    // Document extendedDocument = this.Application.ActiveDocument.GetVstoObject();
    
    extendedDocument.Paragraphs[1].Range.InsertParagraphBefore();
    salesButton = extendedDocument.Controls.AddButton(
        extendedDocument.Paragraphs[1].Range, 75, 18, "salesButton");
    salesButton.Text = "Calculate Sales";
    

Siehe auch

Aufgaben

Gewusst wie: Ändern der Größe von Steuerelementen innerhalb der Arbeitsblattzellen

Konzepte

Übersicht über Windows Forms-Steuerelemente in Office-Dokumenten

Hinzufügen von Steuerelementen zu Office-Dokumenten zur Laufzeit

Übersicht über Hostelemente und Hoststeuerelemente

Optionale Parameter in Office-Lösungen