Exemplarische Vorgehensweise: Bindung von Daten an Steuerelemente in einem Excel-Aktionsbereich

Aktualisiert: November 2007

Betrifft

Die Informationen in diesem Thema gelten nur für die angegebenen Projekte und Versionen von Visual Studio Tools for Office von Microsoft Office.

Projekttyp

  • Projekte auf Dokumentebene

Microsoft Office-Version

  • Excel 2007

  • Excel 2003

Weitere Informationen hierzu finden Sie unter Verfügbare Features nach Anwendung und Projekttyp.

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.

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, 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.

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 bzw. Microsoft Office Excel 2007. In dieser exemplarischen Vorgehensweise werden für die Beispiele Menüs in Excel 2003 verwendet.

  • Zugriff auf einen Server mit der SQL Server-Beispieldatenbank Northwind.

  • Lese- und Schreibberechtigungen für die SQL Server-Datenbank.

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.

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 Visual Studio Tools for Office-Projekte.

    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

  1. Wenn das Datenquellenfenster nicht sichtbar ist, klicken Sie im Menü Daten auf Datenquellen anzeigen.

    Hinweis:

    Wenn der Menüpunkt Datenquellen anzeigen nicht verfügbar ist, klicken Sie in das Excel-Arbeitsblatt, und versuchen Sie es noch einmal.

  2. Klicken Sie auf Neue Datenquelle hinzufügen, um den Assistent zum Konfigurieren von Datenquellen zu starten.

  3. Wählen Sie Datenbank aus, und klicken Sie auf Weiter.

  4. 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.

  5. Klicken Sie auf Weiter.

  6. Deaktivieren Sie ggf. die Option zum Speichern der Verbindung, und klicken Sie dann auf Weiter.

  7. Erweitern Sie im Fenster Datenbankobjekte den Knoten Tabellen.

  8. Aktivieren Sie das Kontrollkästchen neben der Tabelle Suppliers.

  9. Erweitern Sie die Tabelle Products, und wählen Sie ProductName, SupplierID, QuantityPerUnit und UnitPrice aus.

  10. Klicken Sie auf Fertig stellen.

Der Assistent fügt dem Datenquellenfenster die Tabelle Suppliers und die Tabelle Products hinzu. Dem Projekt wird außerdem 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

  1. Stellen Sie sicher, dass die Arbeitsmappe My Excel Actions Pane.xls in Visual Studio Designer geöffnet ist und Sheet1 angezeigt wird.

  2. Erweitern Sie im Datenquellenfenster die Tabelle Suppliers.

  3. Klicken Sie im Knoten Company Name auf den Dropdownpfeil, und klicken Sie dann auf NamedRange.

  4. 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.

  5. 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.

  6. 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.

  7. Nur bei C#: Wählen Sie suppliersBindingSource im Komponentenfach, 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

  1. Wählen Sie im Projektmappen-Explorer das Projekt My Excel Actions Pane aus.

  2. Klicken Sie im Menü Projekt auf Neues Element hinzufügen.

  3. 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

  1. Ziehen Sie aus der Registerkarte Allgemeine Steuerelemente der Toolbox ein ComboBox-Steuerelement in das Aktionsbereich-Steuerelement.

  2. Ändern Sie die Size-Eigenschaft in 171, 21.

  3. 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

  1. Klicken Sie mit der rechten Maustaste auf das Aktionsbereich-Steuerelement, und klicken Sie dann auf Code anzeigen.

  2. 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";
    }
    
  3. 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 Visual Studio Tools for Office.

    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

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

  2. Erstellen Sie in der ThisWorkbook-Klasse eine neue Instanz des Benutzersteuerelements.

    Dim actions As New ActionsControl
    
    ActionsControl actions = new ActionsControl();
    
  3. 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

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

  2. Bestätigen Sie, dass der Aktionsbereich angezeigt wird.

  3. 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.

  4. 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:

Siehe auch

Aufgaben

Gewusst wie: Verwalten des Steuerelementlayouts in Aktionsbereichen

Konzepte

Aktionsbereichsübersicht

Binden von Daten an Steuerelemente