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
Wählen Sie in Sheet1 die Zelle A1 aus.
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.
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 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(); }
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 hierzu 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
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