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
Klicken Sie im Word-Dokument, das im Visual Studio-Designer gehostet wird, auf dem Menüband auf die Registerkarte Einfügen.
Klicken Sie in der Gruppe Text auf die Dropdownschaltfläche Objekt einfügen, und klicken Sie auf Objekt.
Das Dialogfeld Objekt wird geöffnet.
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.
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.
Klicken Sie mit der rechten Maustaste auf das Diagramm, und klicken Sie dann auf Objekt formatieren.
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
Wählen Sie im Projektmappen-Explorer das Projekt My Chart Options aus.
Klicken Sie im Menü Projekt auf Neues Element hinzufügen.
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
Wenn das Benutzersteuerelement im Designer nicht sichtbar ist, doppelklicken Sie im Projektmappen-Explorer auf ChartOptions.
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
Fügen Sie dem Benutzersteuerelement ein zweites Optionsfeld hinzu, und ändern Sie die folgenden Eigenschaften.
Eigenschaft
Wert
Name
barChart
Text
Bar Chart
Fügen Sie dem Benutzersteuerelement ein drittes Optionsfeld hinzu, und ändern Sie die folgenden Eigenschaften.
Eigenschaft
Wert
Name
lineChart
Text
Line Chart
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
Klicken Sie im Menü Projekt auf Verweis hinzufügen.
Das Dialogfeld Verweis hinzufügen wird angezeigt.
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
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Benutzersteuerelement, und klicken Sie dann auf Code anzeigen.
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
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); } } }
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); } } }
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); } } }
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); } } }
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
Klicken Sie im Menü Erstellen auf Projektmappe erstellen.
Das ChartOptions-Benutzersteuerelement wird der Toolbox hinzugefügt.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf ThisDocument.vb bzw. ThisDocument.cs, und klicken Sie dann auf Ansicht-Designer.
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
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); } }
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
Drücken Sie F5, um das Projekt auszuführen.
Aktivieren Sie verschiedene Optionsfelder.
Überprüfen Sie, ob der Diagrammstil entsprechend der Auswahl geändert wurde.
Nächste Schritte
Die folgenden Aufgaben könnten sich daran anschließen:
Verwenden einer Schaltfläche zum Auffüllen eines Textfelds. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Anzeigen von Text in einem Textfeld in einem Dokument mithilfe einer Schaltfläche.
Ändern der Formatierung durch Auswählen eines Formats in einem Kombinationsfeld. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Ändern der Dokumentformatierung mit CheckBox-Steuerelementen.
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