Freigeben über


Exemplarische Vorgehensweise: Erfassen von Daten mit einem Windows Form

Aktualisiert: November 2007

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.

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 Visual Studio Tools for Office-Projekte.

Vorbereitungsmaßnahmen

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

  • Visual Studio Tools for Office (eine optionale Komponente von Visual Studio 2008 Professional und Visual Studio Team System).

  • Microsoft Office Excel 2003 oder Microsoft Office Excel 2007

Visual Studio Tools for Office wird standardmäßig mit den aufgeführten Versionen von Visual Studio installiert. Wie Sie überprüfen können, ob die Software installiert ist, erfahren Sie in Installieren von Visual Studio Tools for Office.

Hinweis:

Auf Ihrem Computer werden möglicherweise andere Namen oder Speicherorte für die Benutzeroberflächenelemente von Visual Studio, die in den folgenden Anweisungen aufgeführt sind, angezeigt. Die von Ihnen verwendete Visual Studio-Edition und die Einstellungen legen diese Elemente fest. Weitere Informationen finden Sie unter Visual Studio-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 Visual Studio Tools for Office-Projekte.

    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 den Text 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.

    Hinweis:

    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 Visual Studio Tools for Office.

    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

Entwickeln von Office-Projektmappen

Programmiermodell für Office-Projektmappen

Programmieren von Add-Ins auf Anwendungsebene

Programmieren von Anpassungen auf Dokumentebene

Exemplarische Vorgehensweisen in Word

Exemplarische Vorgehensweisen in Excel

Globalisierung und Lokalisierung von Office-Projektmappen