Exemplarische Vorgehensweise: Bindung von Daten an Steuerelemente in einem Excel-Aktionsbereich
In dieser exemplarischen Vorgehensweise wird die Datenbindung an Steuerelemente in einem Aktionsbereich von Microsoft Office Excel veranschaulicht.Die Steuerelemente veranschaulichen eine Master/Detail-Beziehung zwischen Tabellen in einer SQL Server-Datenbank.
Betrifft: Die Informationen in diesem Thema betreffen Projekte auf Dokumentebene für Excel 2013 und Excel 2010. Weitere Informationen finden Sie unter Verfügbare Funktionen nach Office-Anwendung und Projekttyp.
In dieser exemplarischen Vorgehensweise werden die folgenden Aufgaben veranschaulicht:
Hinzufügen von Steuerelementen zu einem Arbeitsblatt
Erstellen eines Aktionsbereich-Steuerelements
Hinzufügen von datengebundenen Windows Forms-Steuerelementen zu einem Aktionsbereich-Steuerelement
Anzeigen des Aktionsbereichs, wenn die Anwendung geöffnet wird
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. |
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.
Zugriff auf einen Server mit der SQL Server-Beispieldatenbank Northwind.
Lese- und Schreibberechtigungen für die SQL Server-Datenbank.
Erstellen des Projekts
Zunächst müssen Sie ein Excel-Arbeitsmappenprojekt erstellen.
So erstellen Sie ein neues Projekt
Erstellen Sie ein Excel-Arbeitsmappenprojekt mit dem Namen My Excel Actions Pane.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 My Excel Actions Pane-Projekt hinzu.
Hinzufügen einer neuen Datenquelle zum Projekt
So fügen Sie dem Projekt eine neue Datenquelle hinzu
Wenn das Datenquellen nicht sichtbar ist, zeigen Sie sie durch, auf der Menüleiste auf und Ansicht auswählen, Weitere Fenster, Datenquellen.
Wählen Sie Neue Datenquelle hinzufügen, um Assistent zum Konfigurieren von Datenquellen zu starten.
Wählen Sie Datenbank aus, und klicken Sie auf Weiter.
Wählen Sie eine Datenverbindung zur Northwind SQL Server-Beispieldatenbank aus, oder fügen Sie mithilfe der Schaltfläche Neue Verbindung eine neue Verbindung hinzu.
Klicken Sie auf Weiter.
Deaktivieren Sie ggf. die Option zum Speichern der Verbindung, und klicken Sie dann auf Weiter.
Erweitern Sie im Fenster Datenbankobjekte den Knoten Tabellen.
Aktivieren Sie das Kontrollkästchen neben der Tabelle Suppliers.
Erweitern Sie die Tabelle Products, und wählen Sie ProductName, SupplierID, QuantityPerUnit und UnitPrice aus.
Klicken Sie auf Fertig stellen.
Der Assistent fügt dem Datenquellenfenster die Tabelle Suppliers und die Tabelle Products hinzu.Außerdem wird dem Projekt ein typisiertes Dataset hinzugefügt, das im Projektmappen-Explorer sichtbar ist.
Hinzufügen von Steuerelementen zum Arbeitsblatt
Fügen Sie dem ersten Arbeitsblatt als Nächstes ein NamedRange-Steuerelement und ein ListObject-Steuerelement hinzu.
So fügen Sie ein NamedRange-Steuerelement und ein ListObject-Steuerelement hinzu
Überprüfen Sie, ob die My Excel Actions Pane.xlsx Arbeitsmappe im Visual Studio-Designer geöffnet ist, mit Sheet1 angezeigt.
Erweitern Sie im Datenquellenfenster die Tabelle Suppliers.
Klicken Sie im Knoten Company Name auf den Dropdownpfeil, und klicken Sie dann auf NamedRange.
Ziehen Sie Company Name aus dem Datenquellenfenster in Zelle A2 in Sheet1.
Ein NamedRange-Steuerelement mit dem Namen CompanyNameNamedRange wird erstellt, und der Text <CompanyName> wird in Zelle A2 angezeigt.Gleichzeitig werden dem Projekt eine BindingSource mit Namen suppliersBindingSource, ein Tabellenadapter und DataSet hinzugefügt.Das Steuerelement ist an die BindingSource gebunden, die wiederum an die DataSet-Instanz gebunden ist.
Führen Sie im Datenquellenfenster einen Bildlauf nach unten durch, an den Spalten unter der Tabelle Suppliers vorbei.Am unteren Rand der Liste befindet sich die Tabelle Products, die sich an dieser Stelle befindet, weil sie ein untergeordnetes Element der Tabelle Suppliers ist.Wählen Sie genau diese Products-Tabelle aus und nicht die Tabelle, die mit der Suppliers-Tabelle auf einer Ebene liegt. Klicken Sie anschließend auf den angezeigten Dropdownpfeil.
Wählen Sie in der Dropdownliste ListObject aus, und ziehen Sie die Tabelle Products auf die Zelle A6 in Sheet1.
Ein ListObject-Steuerelement mit dem Namen ProductNameListObject wird in der Zelle A6 erstellt.Gleichzeitig werden dem Projekt eine BindingSource mit dem Namen productsBindingSource und ein Tabellenadapter hinzugefügt.Das Steuerelement ist an die BindingSource gebunden, die wiederum an die DataSet-Instanz gebunden ist.
Nur bei C#: Wählen Sie suppliersBindingSource auf der Komponentenleiste, und ändern Sie die Modifiers-Eigenschaft im Eigenschaftenfenster auf Internal.
Hinzufügen von Steuerelementen zum Aktionsbereich
Sie benötigen nun ein Aktionsbereich-Steuerelement, das ein Kombinationsfeld enthält.
So fügen Sie ein Aktionsbereich-Steuerelement hinzu
Wählen Sie im Projektmappen-Explorer das Projekt My Excel Actions Pane aus.
Klicken Sie im Menü Projekt auf Neues Element hinzufügen.
Wählen Sie im Dialogfeld Neues Element hinzufügen die Option Aktionsbereich-Steuerelement aus. Nennen Sie das Steuerelement ActionsControl, und klicken Sie auf Hinzufügen.
So fügen Sie datengebundene Windows Forms-Steuerelemente zu einem Aktionsbereich-Steuerelement hinzu
Ziehen Sie aus der Registerkarte Allgemeine Steuerelemente der Toolbox ein ComboBox-Steuerelement in das Aktionsbereich-Steuerelement.
Ändern Sie die Size-Eigenschaft auf 171, 21.
Passen Sie die Größe des Benutzersteuerelements dem Kombinationsfeld entsprechend an.
Binden des Steuerelements im Aktionsbereich an Daten
In diesem Abschnitt legen Sie die Datenquelle von ComboBox auf dieselbe Datenquelle wie das NamedRange-Steuerelement im Arbeitsblatt fest.
So legen Sie die Datenbindungseigenschaften des Steuerelements fest
Klicken Sie mit der rechten Maustaste auf das Aktionsbereich-Steuerelement, und klicken Sie dann auf Code anzeigen.
Fügen Sie dem Load-Ereignis des Aktionsbereich-Steuerelements den folgenden Code hinzu.
Private Sub ActionsControl_Load(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Me.Load Me.ComboBox1.DataSource = Globals.Sheet1.SuppliersBindingSource Me.ComboBox1.DisplayMember = "CompanyName" End Sub
private void ActionsControl_Load(object sender, EventArgs e) { this.comboBox1.DataSource = Globals.Sheet1.suppliersBindingSource; this.comboBox1.DisplayMember = "CompanyName"; }
In C# müssen Sie einen Ereignishandler für ActionsControl erstellen.Sie können diesen Code im ActionsControl-Konstruktor einfügen.Weitere Informationen zum Erstellen von Ereignishandlern finden Sie unter Gewusst wie: Erstellen von Ereignishandlern in Office-Projekten.
public ActionsControl() { InitializeComponent(); this.Load += new EventHandler(ActionsControl_Load); }
Anzeigen des Aktionsbereichs
Der Aktionsbereich wird erst sichtbar, wenn Sie das Steuerelement zur Laufzeit hinzufügen.
So zeigen Sie den Aktionsbereich an
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf ThisWorkbook.vb bzw. ThisWorkbook.cs, und klicken Sie dann auf Code anzeigen.
Erstellen Sie in der ThisWorkbook-Klasse eine neue Instanz des Benutzersteuerelements.
Dim actions As New ActionsControl
ActionsControl actions = new ActionsControl();
Fügen Sie im Startup-Ereignishandler von ThisWorkbook dem Aktionsbereich das Steuerelement hinzu.
Private Sub ThisWorkbook_Startup(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Startup Me.ActionsPane.Controls.Add(actions) End Sub
private void ThisWorkbook_Startup(object sender, System.EventArgs e) { this.ActionsPane.Controls.Add(actions); }
Testen der Anwendung
Nun können Sie das Dokument testen, um zu überprüfen, ob der Aktionsbereich beim Öffnen des Dokuments geöffnet wird und ob die Steuerelemente eine Master/Detail-Beziehung aufweisen.
So testen Sie das Dokument
Drücken Sie F5, um das Projekt auszuführen.
Bestätigen Sie, dass der Aktionsbereich angezeigt wird.
Wählen Sie im Listenfeld eine Firma aus.Überprüfen Sie, ob der Firmenname im NamedRange-Steuerelement aufgeführt ist und ob die Produktdetails im ListObject-Steuerelement aufgeführt sind.
Wählen Sie verschiedene Firmen aus, um zu überprüfen, ob sich Firmenname und Produktdetails entsprechend ändern.
Nächste Schritte
Die folgenden Aufgaben könnten sich daran anschließen:
Datenbindung an Steuerelemente in Word.Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Binden von Daten an Steuerelemente in einem Word-Aktionsbereich.
Bereitstellen des Projekts.Weitere Informationen finden Sie unter Bereitstellen einer Office-Lösung mithilfe von ClickOnce.
Siehe auch
Aufgaben
Gewusst wie: Verwalten des Steuerelementlayouts in Aktionsbereichen