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

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

  • Word 2007

  • Word 2003

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

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.

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 Diagrammstils beim Auswählen einer Option.

Das Ergebnis als vollständiges Beispiel finden Sie unter Beispiel für Word-Steuerelemente.

Hinweis:

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:

  • Visual Studio Tools for Office (eine optionale Komponente von Visual Studio 2008 Professional und Visual Studio Team System).

  • Microsoft Office Word 2003 oder Microsoft Office Word 2007.

In dieser exemplarischen Vorgehensweise werden die Menüs in Word 2003 verwendet, dieselben Optionen stehen aber auch in der Multifunktionsleiste von Word 2007 zur Verfügung.

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

    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

In Word 2003-Projekten enthält das Menü Einfügen auf der Visual Studio-Symbolleiste die Word-Befehle zum Hinzufügen eines Diagramms.

So fügen Sie ein Diagramm ein

  1. Klicken Sie im Menü Einfügen auf Objekt.

    Das Dialogfeld Objekt wird geöffnet.

    Hinweis:

    Wenn das Menü Einfügen nicht sichtbar ist, müssen Sie auf das Dokument klicken, damit es den Fokus erhält. Weitere Informationen hierzu finden Sie unter Office-Menüs in der Visual Studio-Umgebung.

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

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

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

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

    Property

    Value

    Name

    columnChart

    Text

    Column Chart

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

    Property

    Value

    Name

    barChart

    Text

    Bar Chart

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

    Property

    Value

    Name

    lineChart

    Text

    Line Chart

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

    Property

    Value

    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 Graph 11.0-Objektbibliothek verweisen.

So fügen Sie einen Verweis auf die Microsoft Graph 11.0-Objektbibliothek hinzu

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

    Das Dialogfeld Verweis hinzufügen wird angezeigt.

  2. Klicken Sie auf die Registerkarte COM.

  3. Wählen Sie in der Liste Komponentenname den Eintrag Microsoft Graph 11.0-Objektbibliothek aus, und klicken Sie auf OK.

Ä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 barChart-Optionsfelds 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 columnChart-Optionsfelds 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 lineChart-Optionsfelds 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 Visual Studio Tools for Office.

    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
            'first object is the runtime storage control
            Dim index As Object = 2
            Dim shape As Word.Shape = Me.Shapes.Item(index)
    
            '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
        {
            //first object is the runtime storage control
            object index = 2;
            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