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 auf Anwendungsebene für Office 2013 und Office 2010. 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 2012, die die Microsoft Office-Entwicklungstools einschließt. Weitere Informationen finden Sie unter [Konfigurieren eines Computers zum Entwickeln von Office-Lösungen](bb398242\(v=vs.110\).md).
- Excel 2013 oder Excel 2010.
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.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 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
Wählen Sie in Sheet1 die Zelle A1 aus.
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.
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
Wählen Sie im Projektmappen-Explorer das Projekt WinFormInput aus.
Klicken Sie im Menü Projekt auf Windows Form hinzufügen.
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.
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
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf ThisWorkbook.vb bzw. ThisWorkbook.cs, und klicken Sie dann auf Code anzeigen.
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 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(); }
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
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf GetInputString, und klicken Sie dann auf Ansicht-Designer.
Doppelklicken Sie auf die Schaltfläche, um die Codedatei mit dem hinzugefügten Click-Ereignishandler der Schaltfläche zu öffnen.
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
Drücken Sie F5, um das Projekt auszuführen.
Überprüfen Sie, ob das Windows Form angezeigt wird.
Geben Sie im Textfeld "Hello World" ein, und klicken Sie dann auf OK.
Ü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:
Verwenden von Windows Forms-Steuerelementen in einer Excel-Arbeitsmappe bzw. einem Word-Dokument.Weitere Informationen finden Sie unter Übersicht über Windows Forms-Steuerelemente in Office-Dokumenten.
Ändern der Benutzeroberfläche einer Microsoft Office-Anwendung von einer Anpassung auf Dokumentebene bzw. einem Add-In auf Anwendungsebene aus.Weitere Informationen finden Sie unter Anpassung der Office-Benutzeroberfläche.
Siehe auch
Konzepte
Schreiben von Code in Office-Projektmappen
Exemplarische Vorgehensweisen in Word
Exemplarische Vorgehensweisen in Excel
Weitere Ressourcen
Entwickeln von Office-Projektmappen