Freigeben über


Exemplarische Vorgehensweise: Erfassen von Daten mit einem Windows Form

In dieser exemplarischen Vorgehensweise wird das Öffnen eines Windows Form aus einer Anpassung auf Dokumentebene für Microsoft Office Excel, das Abfragen von Benutzerinformationen und das Schreiben dieser Informationen in eine Zelle des Arbeitsblatts beschrieben.

Betrifft: Die Informationen in diesem Thema betreffen Projekte auf Dokument- und Anwendungsebene für Microsoft Office 2010 und 2007 Microsoft Office System. Weitere Informationen finden Sie unter Verfügbare Funktionen nach Office-Anwendung und Projekttyp.

Obwohl in dieser exemplarischen Vorgehensweise speziell ein Projekt auf Dokumentebene für Excel verwendet wird, gelten die Konzepte in dieser exemplarischen Vorgehensweise auch für andere Office-Projekte.

Vorbereitungsmaßnahmen

Zum Durchführen dieser exemplarischen Vorgehensweise benötigen Sie die folgenden Komponenten:

-

Eine Version von Visual Studio 2010, die die Microsoft Office-Entwicklungstools einschließt. Weitere Informationen finden Sie unter [Konfigurieren eines Computers zum Entwickeln von Office-Lösungen](bb398242\(v=vs.100\).md).
  • Microsoft Office Excel 2007 oder Excel 2010.

Tipp

Auf Ihrem Computer werden möglicherweise andere Namen oder Speicherorte für die Benutzeroberflächenelemente von Visual Studio angezeigt als die in den folgenden Anweisungen aufgeführten. Die von Ihnen verwendete Visual Studio-Edition und die Einstellungen legen diese Elemente fest. Weitere Informationen finden Sie unter Arbeiten mit Einstellungen.

Erstellen eines neuen Projekts

Zunächst müssen Sie ein Excel-Arbeitsmappenprojekt erstellen.

So erstellen Sie ein neues Projekt

  • Erstellen Sie ein Excel-Arbeitsmappenprojekt mit dem Namen "WinFormInput", und wählen Sie im Assistenten Neues Dokument erstellen aus. Weitere Informationen hierzu finden Sie unter Gewusst wie: Erstellen von Office-Projekten in Visual Studio.

    Visual Studio öffnet die neue Excel-Arbeitsmappe im Designer und fügt dem Projektmappen-Explorer das WinFormInput-Projekt hinzu.

Hinzufügen eines NamedRange-Steuerelements zum Arbeitsblatt

So fügen Sie Sheet1 einen benannten Bereich hinzu

  1. Wählen Sie in Sheet1 die Zelle A1 aus.

  2. Geben Sie im Feld Name die Zeichenfolge "formInput" ein.

    Das Feld Name befindet sich links neben der Bearbeitungsleiste, genau über der Spalte A des Arbeitsblatts.

  3. Drücken Sie die EINGABETASTE.

    Der Zelle A1 wird ein NamedRange-Steuerelement hinzugefügt. Auf dem Arbeitsblatt gibt es dafür keinen sichtbaren Hinweis, aber wenn Zelle A1 ausgewählt ist, wird formInput im Feld Name (auf der linken Seite direkt über dem Arbeitsblatt) und im Eigenschaftenfenster angezeigt.

Hinzufügen eines Windows Form zum Projekt

Erstellen Sie ein Windows Form, in dem die Benutzer zur Eingabe von Informationen aufgefordert werden.

So fügen Sie ein Windows Form hinzu

  1. Wählen Sie im Projektmappen-Explorer das Projekt WinFormInput aus.

  2. Klicken Sie im Menü Projekt auf Windows Form hinzufügen.

  3. Nennen Sie das Formular GetInputString.vb bzw. GetInputString.cs, und klicken Sie anschließend auf Hinzufügen.

    Das neue Formular wird im Designer geöffnet.

  4. Fügen Sie dem Formular TextBox und Button hinzu.

  5. Markieren Sie die Schaltfläche, suchen Sie im Eigenschaftenfenster die Eigenschaft Text, und ändern Sie den Text in OK.

Fügen Sie anschließend ThisWorkbook.vb oder ThisWorkbook.cs Code hinzu, um die Benutzerinformationen zu sammeln.

Anzeigen des Windows Form und Abfragen von Informationen

Erstellen Sie eine Instanz des Windows Form GetInputString, zeigen Sie diese an, und schreiben Sie dann die Benutzerinformationen in eine Zelle im Arbeitsblatt.

So zeigen Sie das Formular an und fragen die Informationen ab

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf ThisWorkbook.vb bzw. ThisWorkbook.cs, und klicken Sie dann auf Code anzeigen.

  2. Fügen Sie im Open-Ereignishandler von ThisWorkbook den folgenden Code hinzu, um für das Formular GetInputString eine Variable zu deklarieren und um anschließend das Formular anzuzeigen.

    Tipp

    In C# müssen Sie einen Ereignishandler hinzufügen, wie im Startup-Ereignis unten dargestellt. Weitere Informationen zum Erstellen von Ereignishandlern finden Sie unter Gewusst wie: Erstellen von Ereignishandlern in Office-Projekten.

    Private Sub ThisWorkbook_Open() Handles Me.Open
        Dim inputForm As New GetInputString()
        inputForm.Show()
    End Sub
    
    private void ThisWorkbook_Startup(object sender, System.EventArgs e)
    {
        this.Open += new 
            Microsoft.Office.Interop.Excel.WorkbookEvents_OpenEventHandler(ThisWorkbook_Open);
    }
    
    private void ThisWorkbook_Open()
    {
        GetInputString inputForm = new GetInputString();
        inputForm.Show();
    }
    
  3. Erstellen Sie eine Methode mit dem Namen WriteStringToCell, die Text in einen benannten Bereich schreibt. Diese Methode wird vom Formular aufgerufen, und die Benutzereingabe wird an das NamedRange-Steuerelement formInput in Zelle A1 übergeben.

    Public Sub WriteStringToCell(ByVal formData As String)
        Globals.Sheet1.formInput.Value2 = formData
    End Sub
    
    public void WriteStringToCell(string formData)
    {
        Globals.Sheet1.formInput.Value2 = formData;
    }
    

Fügen Sie dem Formular anschließend Code hinzu, um das Klickereignis der Schaltfläche zu behandeln.

Senden von Informationen an die Arbeitsmappe

So senden Sie Informationen an das Arbeitsblatt

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf GetInputString, und klicken Sie dann auf Ansicht-Designer.

  2. Doppelklicken Sie auf die Schaltfläche, um die Codedatei mit dem hinzugefügten Click-Ereignishandler der Schaltfläche zu öffnen.

  3. Fügen Sie dem Ereignishandler Code hinzu, um die Eingabe im Textfeld zu verwenden. Senden Sie den Text an die WriteStringToCell-Funktion, und schließen Sie dann das Formular.

    Globals.ThisWorkbook.WriteStringToCell(Me.TextBox1.Text)
    Me.Dispose()
    
    Globals.ThisWorkbook.WriteStringToCell(this.textBox1.Text);
    this.Dispose();
    

Testen

Sie können das Projekt jetzt ausführen. Das Windows Form wird angezeigt, und die Eingabe wird im Arbeitsblatt angezeigt.

So testen Sie die Arbeitsmappe

  1. Drücken Sie F5, um das Projekt auszuführen.

  2. Überprüfen Sie, ob das Windows Form angezeigt wird.

  3. Geben Sie im Textfeld "Hello World" ein, und klicken Sie dann auf OK.

  4. Überprüfen Sie, ob in Zelle A1 im Arbeitsblatt Hello World angezeigt wird.

Nächste Schritte

In dieser exemplarischen Vorgehensweise werden die Grundlagen für das Anzeigen eines Windows Form und das Übergeben von Daten an ein Arbeitsblatt beschrieben. Andere Aufgaben in diesem Zusammenhang sind:

Siehe auch

Aufgaben

Gewusst wie: Interaktion mit Windows Forms

Konzepte

Schreiben von Code in Office-Projektmappen

Exemplarische Vorgehensweisen in Word

Exemplarische Vorgehensweisen in Excel

Globalisierung und Lokalisierung von Office-Projektmappen

Weitere Ressourcen

Entwickeln von Office-Projektmappen

Programmieren von Add-Ins auf Anwendungsebene

Programmieren von Anpassungen auf Dokumentebene