Freigeben über


Exemplarische Vorgehensweise: Aktualisieren eines Diagramms in einem Dokument mithilfe von Optionsfeldern

In dieser exemplarischen Vorgehensweise wird die Verwendung von Optionsfeldern in Anpassungen auf Dokumentebene für Microsoft Office Word erläutert, um Benutzern die Möglichkeit zum Auswählen von Diagrammstilen in einem Dokument zu geben.

Betrifft: Die Informationen in diesem Thema betreffen Projekte auf Dokumentebene für Word 2007 und Word 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 eines Diagramms in einem Dokument in einem Projekt auf Dokumentebene zur Entwurfszeit.

  • Gruppieren von Optionsfeldern durch Hinzufügen zu einem Benutzersteuerelement.

  • Ändern des Diagrammformats beim Auswählen einer Option.

Das Ergebnis in einem vollständigen Beispiel finden Sie in dem Beispiel für Word-Steuerelemente unter Beispiele und exemplarische Vorgehensweisen für die Programmierung mit Office.

Tipp

Ihr Computer zeigt möglicherweise für einige der Elemente der Visual Studio-Benutzeroberfläche in der folgenden Anleitung andere Namen oder Standorte an. Diese Elemente sind von der jeweiligen Visual Studio-Version und den verwendeten Einstellungen abhängig. 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 2010, die die Microsoft Office-Entwicklungstools einschließt. Weitere Informationen finden Sie unter [Konfigurieren eines Computers zum Entwickeln von Office-Lösungen](bb398242\(v=vs.100\).md).
  • Word 2007 oder Word 2010

Erstellen des Projekts

Der erste Schritt besteht darin, ein Word-Dokumentprojekt zu erstellen.

So erstellen Sie ein neues Projekt

  • Erstellen Sie ein Word-Dokumentprojekt mit dem Namen My Chart Options. 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 das neue Word-Dokument im Designer und fügt dem Projektmappen-Explorer das My Chart Options-Projekt hinzu.

Hinzufügen eines Diagramms zum Dokument

So fügen Sie ein Diagramm ein

  1. Klicken Sie im Word-Dokument, das im Visual Studio-Designer gehostet wird, auf dem Menüband auf die Registerkarte Einfügen.

  2. Klicken Sie in der Gruppe Text auf die Dropdownschaltfläche Objekt einfügen, und klicken Sie auf Objekt.

    Das Dialogfeld Objekt wird geöffnet.

  3. Wählen Sie auf der Registerkarte Neu erstellen in der Liste Objekttyp die Option Microsoft Graph-Diagramm aus, und klicken Sie dann auf OK.

    An der Einfügemarke wird dem Dokument ein Diagramm hinzugefügt, und das Fenster Datenblatt wird mit einigen Standarddaten angezeigt.

  4. Schließen Sie das Fenster Datenblatt, um die Standardwerte im Diagramm zu übernehmen. Klicken Sie dann auf das Dokument, um den Fokus vom Diagramm zu entfernen.

  5. Klicken Sie mit der rechten Maustaste auf das Diagramm, und klicken Sie dann auf Objekt formatieren.

  6. Wählen Sie im Dialogfeld Objekt formatieren auf der Registerkarte Layout die Option Quadrat, und klicken Sie auf OK.

Hinzufügen eines Benutzersteuerelements zum Projekt

Optionsfelder auf einem Dokument schließen sich standardmäßig nicht gegenseitig aus. Die Optionsfelder funktionieren ordnungsgemäß, wenn Sie sie zu einem Benutzersteuerelement hinzufügen und dann Code zum Steuern der Auswahl schreiben.

So fügen Sie ein Benutzersteuerelement hinzu

  1. Wählen Sie im Projektmappen-Explorer das Projekt My Chart Options aus.

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

  3. Klicken Sie im Dialogfeld Neues Element hinzufügen auf Benutzersteuerelement. Nennen Sie das Steuerelement ChartOptions, und klicken Sie auf Hinzufügen.

So fügen Sie Windows Form-Steuerelemente zum Benutzersteuerelement hinzu

  1. Wenn das Benutzersteuerelement im Designer nicht sichtbar ist, doppelklicken Sie im Projektmappen-Explorer auf ChartOptions.

  2. Ziehen Sie von der Registerkarte Allgemeine Steuerelemente der Toolbox das erste Optionsfeld-Steuerelement auf das Benutzersteuerelement, und ändern Sie folgende Eigenschaften:

    Eigenschaft

    Wert

    Name

    columnChart

    Text

    Column Chart

  3. Fügen Sie dem Benutzersteuerelement ein zweites Optionsfeld hinzu, und ändern Sie die folgenden Eigenschaften.

    Eigenschaft

    Wert

    Name

    barChart

    Text

    Bar Chart

  4. Fügen Sie dem Benutzersteuerelement ein drittes Optionsfeld hinzu, und ändern Sie die folgenden Eigenschaften.

    Eigenschaft

    Wert

    Name

    lineChart

    Text

    Line Chart

  5. Fügen Sie dem Benutzersteuerelement ein viertes Optionsfeld hinzu, und ändern Sie die folgenden Eigenschaften.

    Eigenschaft

    Wert

    Name

    areaBlockChart

    Text

    Area Block Chart

Hinzufügen von Verweisen

Wenn Sie auf das Diagramm vom Benutzersteuerelement in einem Dokument zugreifen möchten, müssen Sie in Ihrem Projekt auf die Microsoft.Office.Interop.Graph-Assembly verweisen.

So fügen Sie einen Verweis auf die Microsoft.Office.Interop.Graph-Assembly hinzu

  1. Klicken Sie im Menü Projekt auf Verweis hinzufügen.

    Das Dialogfeld Verweis hinzufügen wird angezeigt.

  2. Wählen Sie Microsoft.Office.Interop.Graph auf der Registerkarte .NET aus, und klicken Sie auf OK. Wenn das Projekt auf Word 2007 ausgerichtet ist, wählen Sie die Version 12.0.0.0 der Assembly aus; wenn das Projekt auf Word 2010 ausgerichtet ist, wählen Sie die Version 14.0.0.0 aus.

Ändern des Diagrammstils beim Auswählen eines Optionsfelds

Damit die Optionsfelder ordnungsgemäß funktionieren, erstellen Sie ein öffentliches Ereignis für das Benutzersteuerelement, fügen eine Eigenschaft zum Festlegen des Auswahltyps hinzu und erstellen eine Prozedur für das CheckedChanged-Ereignis der einzelnen Optionsfelder.

So erstellen Sie ein Ereignis und eine Eigenschaft für ein Benutzersteuerelement

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Benutzersteuerelement, und klicken Sie dann auf Code anzeigen.

  2. Fügen Sie Code hinzu, um ein SelectionChanged-Ereignis sowie die Selection-Eigenschaft der ChartOptions-Klasse zu erstellen.

    Public Event SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
    
    Private selectedType As Microsoft.Office.Interop.Graph.XlChartType = _
        Microsoft.Office.Interop.Graph.XlChartType.xlColumnClustered
    
    Public Property Selection() As Microsoft.Office.Interop.Graph.XlChartType
        Get
            Return Me.selectedType
        End Get
        Set(ByVal value As Microsoft.Office.Interop.Graph.XlChartType)
            Me.selectedType = value
        End Set
    End Property
    
    public event EventHandler SelectionChanged;
    
    private Microsoft.Office.Interop.Graph.XlChartType selectedType =
        Microsoft.Office.Interop.Graph.XlChartType.xlColumnClustered;
    
    public Microsoft.Office.Interop.Graph.XlChartType Selection
    {
        get
        {
            return this.selectedType;
        }
        set
        {
            this.selectedType = value;
        }
    }
    

So behandeln Sie das CheckedChange-Ereignis der Optionsfelder

  1. Legen Sie den Diagrammtyp im CheckedChanged-Ereignishandler des areaBlockChart-Optionsfelds fest, und lösen Sie das Ereignis aus.

    Private Sub areaBlockChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles areaBlockChart.CheckedChanged
    
        If (CType(sender, RadioButton).Checked) Then
    
            Me.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlAreaStacked
            RaiseEvent SelectionChanged(Me, EventArgs.Empty)
        End If
    End Sub
    
    private void areaBlockChart_CheckedChanged(object sender, EventArgs e)
    {
        if (((RadioButton)sender).Checked)
        {
            this.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlAreaStacked;
            if (this.SelectionChanged != null)
            {
                this.SelectionChanged(this, EventArgs.Empty);
            }
        }
    }
    
  2. Legen Sie den Diagrammtyp im CheckedChanged-Ereignishandler des Optionsfelds barChart fest.

    Private Sub barChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles barChart.CheckedChanged
    
        If (CType(sender, RadioButton).Checked) Then
    
            Me.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlBarClustered
            RaiseEvent SelectionChanged(Me, EventArgs.Empty)
        End If
    End Sub
    
    private void barChart_CheckedChanged(object sender, EventArgs e)
    {
        if (((RadioButton)sender).Checked)
        {
            this.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlBarClustered;
            if (this.SelectionChanged != null)
            {
                this.SelectionChanged(this, EventArgs.Empty);
            }
        }
    }
    
  3. Legen Sie den Diagrammtyp im CheckedChanged-Ereignishandler des Optionsfelds columnChart fest.

    Private Sub columnChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles columnChart.CheckedChanged
    
        If (CType(sender, RadioButton).Checked) Then
    
            Me.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlColumnClustered
            RaiseEvent SelectionChanged(Me, EventArgs.Empty)
        End If
    End Sub
    
    private void columnChart_CheckedChanged(object sender, EventArgs e)
    {
        if (((RadioButton)sender).Checked)
        {
            this.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlColumnClustered;
            if (this.SelectionChanged != null)
            {
                this.SelectionChanged(this, EventArgs.Empty);
            }
        }
    }
    
  4. Legen Sie den Diagrammtyp im CheckedChanged-Ereignishandler des Optionsfelds lineChart fest.

    Private Sub lineChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles lineChart.CheckedChanged
    
        If (CType(sender, RadioButton).Checked) Then
            Me.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlLineMarkers
            RaiseEvent SelectionChanged(Me, EventArgs.Empty)
        End If
    End Sub
    
    private void lineChart_CheckedChanged(object sender, EventArgs e)
    {
        if (((RadioButton)sender).Checked)
        {
            this.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlLineMarkers;
            if (this.SelectionChanged != null)
            {
                this.SelectionChanged(this, EventArgs.Empty);
            }
        }
    }
    
  5. In C# müssen Sie Ereignishandler für die Optionsfelder hinzufügen. Sie können den Code zum ChartOptions-Konstruktor hinzufügen, unterhalb des Aufrufs von InitializeComponent. Weitere Informationen zum Erstellen von Ereignishandlern finden Sie unter Gewusst wie: Erstellen von Ereignishandlern in Office-Projekten.

    public ChartOptions()
    {
        InitializeComponent();
    
        areaBlockChart.CheckedChanged += new EventHandler(areaBlockChart_CheckedChanged);
        barChart.CheckedChanged += new EventHandler(barChart_CheckedChanged);
        columnChart.CheckedChanged += new EventHandler(columnChart_CheckedChanged);
        lineChart.CheckedChanged += new EventHandler(lineChart_CheckedChanged);
    }
    

Hinzufügen des Benutzersteuerelements zum Dokument

Wenn Sie die Projektmappe erstellen, wird das neue Benutzersteuerelement automatisch zur Toolbox hinzugefügt. Dann können Sie das Steuerelement von der Toolbox auf das Dokument ziehen.

So fügen Sie das Benutzersteuerelement zum Dokument hinzu

  1. Klicken Sie im Menü Erstellen auf Projektmappe erstellen.

    Das ChartOptions-Benutzersteuerelement wird der Toolbox hinzugefügt.

  2. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf ThisDocument.vb bzw. ThisDocument.cs, und klicken Sie dann auf Ansicht-Designer.

  3. Ziehen Sie das ChartOptions-Steuerelement aus der Toolbox in das Dokument.

    Ein neues Steuerelement mit dem Namen ChartOptions1 wird dem Projekt hinzugefügt.

Ändern des Diagrammtyps

Erstellen Sie einen Ereignishandler, um den Diagrammtyp entsprechend der im Benutzersteuerelement ausgewählten Option zu ändern.

So ändern Sie den im Dokument angezeigten Diagrammtyp

  1. Fügen Sie der ThisDocument-Klasse den folgenden Ereignishandler hinzu.

    Private Sub ChartOptions1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) _
        Handles ChartOptions1.SelectionChanged
    
        Try
            Dim shape As Word.Shape = Me.Shapes.Item(1)
    
            ' Activate the shape.
            shape.Activate()
    
            Dim dataChart As Graph.Chart = CType(shape.OLEFormat.Object, Graph.Chart)
            dataChart.ChartType = Me.ChartOptions1.Selection
    
            ' Deactivate the shape.
            Me.ChartOptions1.Select()
    
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
    
    private void ChartOptions1_SelectionChanged(object sender, EventArgs e)
    {
        try
        {
            object index = 1;
            Word.Shape shape = this.Shapes.get_Item(ref index);
    
            // Activate the shape.
            shape.Activate();
    
            Microsoft.Office.Interop.Graph.Chart dataChart = 
                (Microsoft.Office.Interop.Graph.Chart)shape.OLEFormat.Object;
            dataChart.ChartType = this.ChartOptions1.Selection;
    
            // Deactivate the shape.
            this.ChartOptions1.Select();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
    
  2. In C# müssen Sie einen Ereignishandler für das Benutzersteuerelement zum Startup-Ereignis hinzufügen.

    this.ChartOptions1.SelectionChanged += new EventHandler(ChartOptions1_SelectionChanged);
    

Testen der Anwendung

Sie können das Dokument jetzt testen, um sicherzustellen, dass das Diagrammformat beim Auswählen eines Optionsfelds ordnungsgemäß aktualisiert wird.

So testen Sie das Dokument

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

  2. Aktivieren Sie verschiedene Optionsfelder.

  3. Überprüfen Sie, ob der Diagrammstil entsprechend der Auswahl geändert wurde.

Nächste Schritte

Die folgenden Aufgaben könnten sich daran anschließen:

Siehe auch

Konzepte

Exemplarische Vorgehensweisen in Word

Verwenden von Windows Forms-Steuerelementen in einem Word-Dokument

Einschränkungen für Windows Forms-Steuerelemente in Office-Dokumenten

Weitere Ressourcen

Beispiele und exemplarische Vorgehensweisen für die Programmierung mit Office