Freigeben über


Exemplarische Vorgehensweise: Sammeln von Daten mithilfe eines 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.

Gilt für: Die Informationen in diesem Thema gelten für Projekte auf Dokumentebene und VSTO-Add-In-Projekte. Siehe features available by Office-App lication and project type.

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.

Voraussetzungen

Zum Abschließen dieser exemplarischen Vorgehensweise benötigen Sie Folgendes:

Hinweis

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. Diese Elemente sind von der jeweiligen Visual Studio-Version und den verwendeten Einstellungen abhängig. Weitere Informationen finden Sie unter Personalisieren von Visual Studio-IDE.

Erstellen eines neuen Projekts

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

So erstellen Sie ein neues Projekt

  1. Erstellen Sie ein Excel-Arbeitsmappenprojekt mit dem Namen WinFormInput, und wählen Sie im Assistenten Neues Dokument erstellen aus. Weitere Informationen finden Sie unter How to: Create Office projects 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 Blatt1 einen benannten Bereich hinzu

  1. Wählen Sie in die Zelle A1 Sheet1aus.

  2. Geben Sie im Feld Name die Zeichenfolge formInputein.

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

  3. Drücken Sie die EINGABETASTE.

    Der Zelle NamedRange A1 wird ein-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 Fenster Eigenschaften angezeigt.

Hinzufügen eines Windows Form-Formulars 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 WinFormInputaus.

  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 eine TextBox und eine Button hinzu.

  5. Markieren Sie die Schaltfläche, suchen Sie im Fenster Eigenschaften 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 abzufragen.

Anzeigen des Windows-Formulars und Sammeln 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 ThisWorkbookden folgenden Code hinzu, um für das Formular GetInputString eine Variable zu deklarieren und anschließend das Formular anzuzeigen.

    Hinweis

    In C# müssen Sie einen Ereignishandler hinzufügen, wie im Startup -Ereignis unten dargestellt. Informationen zum Erstellen von Ereignishandlern finden Sie unter How to: Create event handlers in Office projects.

    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.ShowDialog();
    }
    
  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 formInputin Zelle A1übergeben.

    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 das Arbeitsblatt

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 an die WriteStringToCell-Funktion zu senden, und schließen Sie dann das Formular.

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

Testen

Jetzt kannst du das Projekt 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 Hallo Welt ein, und klicken Sie dann auf OK.

  4. Überprüfen Sie, ob in Zelle A1 im Arbeitsblatt Hallo Welt 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: