Freigeben über


Anleitung: Daten mithilfe eines Windows-Formulars sammeln

In dieser exemplarischen Vorgehensweise wird veranschaulicht, wie Sie ein Windows Form aus einer Anpassung auf Dokumentebene für Microsoft Office Excel öffnen, Informationen vom Benutzer sammeln und diese Informationen in eine Arbeitsblattzelle schreiben.

Gilt für: Die Informationen in diesem Thema gelten für Projekte auf Dokumentebene und VSTO-Add-In-Projekte. Siehe Verfügbare Features nach Office-Anwendung und Projekttyp.

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

Voraussetzungen

Sie benötigen die folgenden Komponenten, um diese Schritt-für-Schritt-Anleitung abzuschließen.

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

Der erste Schritt besteht darin, ein Excel-Arbeitsmappenprojekt zu 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 das WinFormInput-Projekt dem Projektmappen-Explorer hinzu.

Hinzufügen eines NamedRange-Steuerelements zum Arbeitsblatt

So fügen Sie einen benannten Bereich zu Sheet1 hinzu

  1. Wählen Sie Zelle A1 aus.Sheet1

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

    Das Feld "Name " befindet sich links neben der Bearbeitungsleiste, direkt oberhalb der Spalte A des Arbeitsblatts.

  3. Drücken Sie die EINGABETASTE.

    Ein NamedRange Steuerelement wird zu Zelle A1 hinzugefügt. Es gibt keine sichtbaren Hinweise auf dem Arbeitsblatt, aber formInput wird im Feld "Name " (direkt oberhalb des Arbeitsblatts auf der linken Seite) und im Eigenschaftenfenster angezeigt, wenn Zelle A1 ausgewählt ist.

Hinzufügen eines Windows Form-Formulars zum Projekt

Erstellen Sie ein Windows-Formular, um den Benutzer zur Eingabe von Informationen aufzufordern.

So fügen Sie ein Windows-Formular hinzu

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

  2. Klicken Sie im Menü "Projekt " auf "Windows-Formular hinzufügen".

  3. Benennen Sie das Formular GetInputString.vb oder GetInputString.cs, und klicken Sie dann auf "Hinzufügen".

    Das neue Formular wird im Designer geöffnet.

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

  5. Wählen Sie die Schaltfläche aus, suchen Sie den Eigenschaftentext im Eigenschaftenfenster , und ändern Sie den Text in "OK".

    Fügen Sie als Nächstes Code zu ThisWorkbook.vb oder ThisWorkbook.cs hinzu, um die Informationen des Benutzers zu sammeln.

Anzeigen des Windows-Formulars und Sammeln von Informationen

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

Um das Formular anzuzeigen und die Informationen zu sammeln

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

  2. Fügen Sie im Open Ereignishandler des ThisWorkbookFormulars den folgenden Code hinzu, um eine Variable für das Formular GetInputString zu deklarieren und dann das Formular anzuzeigen.

    Hinweis

    In C# müssen Sie einen Ereignishandler hinzufügen, wie im Startup folgenden Ereignis gezeigt. 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 namens WriteStringToCell, um Text in einen benannten Bereich zu schreiben. Diese Methode wird aus dem Formular aufgerufen, und die Eingabe des Benutzers wird an das NamedRange Steuerelement formInputin Zelle A1 übergeben.

    public void WriteStringToCell(string formData)
    {
        Globals.Sheet1.formInput.Value2 = formData;
    }
    

    Fügen Sie als Nächstes Code zum Formular 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 mit der rechten Maustaste auf GetInputString im Projektmappen-Explorer, und klicken Sie dann auf Designer anzeigen.

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

  3. Fügen Sie dem Ereignishandler Code hinzu, um die Eingabe aus dem Textfeld zu übernehmen, an die Funktion WriteStringToCellzu senden und dann das Formular zu schließen.

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

Test

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

So testen Sie Ihre Arbeitsmappe

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

  2. Vergewissern Sie sich, dass das Windows-Formular angezeigt wird.

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

  4. Vergewissern Sie sich, dass Hello World in Zelle A1 des Arbeitsblatts angezeigt wird.

Nächste Schritte

In dieser exemplarischen Vorgehensweise werden die Grundlagen der Anzeige eines Windows Form-Formulars und das Übergeben von Daten an ein Arbeitsblatt veranschaulicht. Andere Aufgaben, die Sie möglicherweise ausführen möchten, umfassen: