Partager via


Procédure pas à pas : mise à jour d'un graphique dans un document à l'aide de cases d'option

Mise à jour : novembre 2007

S'applique à

Les informations de cette rubrique s'appliquent uniquement aux projets Visual Studio Tools pour Office et versions de Microsoft Office spécifiés.

Type de projet

  • Projets au niveau du document

Version de Microsoft Office

  • Word 2007

  • Word 2003

Pour plus d'informations, consultez Fonctionnalités disponibles par type d'application et de projet.

Cette procédure pas à pas montre comment utiliser des cases d'option dans une personnalisation au niveau du document pour Microsoft Office Word, afin de fournir aux utilisateurs l'option de sélection de styles de graphique sur le document.

Cette procédure pas à pas illustre les tâches suivantes :

  • Ajout d'un graphique au document dans un projet au niveau du document au moment du design.

  • Regroupement de cases d'option en les ajoutant à un contrôle utilisateur

  • Modification du style de graphique lorsqu'une option est sélectionnée

Pour voir le résultat sous la forme d'un exemple complet, consultez Contrôles Word, exemple.

Remarque :

Il est possible que votre ordinateur affiche des noms ou des emplacements différents pour certains des éléments d'interface utilisateur Visual Studio dans les instructions suivantes. L'édition de Visual Studio dont vous disposez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d'informations, consultez Paramètres Visual Studio.

Composants requis

Vous avez besoin des composants suivants pour exécuter cette procédure pas à pas :

  • Visual Studio Tools pour Office (composant facultatif de Visual Studio 2008 Professional et Visual Studio Team System)

  • Microsoft Office Word 2003 ou Microsoft Office Word 2007

Cette procédure pas à pas utilise les menus dans Word 2003, mais les mêmes options sont disponibles dans le ruban de Word 2007.

Création du projet

La première étape consiste à créer un projet de document Word.

Pour créer un projet

  • Créez un projet de document Word et appelez-le My Chart Options. Dans l'Assistant, sélectionnez Créer un nouveau document. Pour plus d'informations, consultez Comment : créer des projets Visual Studio Tools pour Office.

    Visual Studio ouvre le nouveau document Word dans le concepteur et ajoute le projet My Chart Options à l'Explorateur de solutions.

Ajout d'un graphique au document

Dans les projets Word 2003, le menu Insertion sur la barre d'outils Visual Studio contient les commandes Word pour ajouter un graphique.

Pour ajouter un graphique

  1. Dans le menu Insertion, cliquez sur Objet.

    La boîte de dialogue Objet s'affiche.

    Remarque :

    Si le menu Insertion n'est pas visible, vous devez d'abord cliquer dans le document pour lui donner le focus. Pour plus d'informations, consultez Menus Office dans l'environnement Visual Studio.

  2. Dans la liste Type d'objet de l'onglet Créer nouveau, sélectionnez Graphique Microsoft Graph et cliquez sur OK.

    Un graphique est ajouté au point d'insertion du document et la fenêtre Feuille de données qui s'affiche contient quelques données par défaut.

  3. Fermez la fenêtre Feuille de données pour accepter les valeurs par défaut dans le graphique et cliquez dans le document pour que le focus quitte le graphique.

  4. Cliquez avec le bouton droit sur le graphique, puis cliquez sur Format d'objet.

  5. Sous l'onglet Disposition de la boîte de dialogue Format d'objet, sélectionnez Carré et cliquez sur OK.

Ajout d'un contrôle utilisateur au projet

Les cases d'option sur un document ne s'excluent pas mutuellement par défaut. Vous pouvez les faire fonctionner correctement en les ajoutant à un contrôle utilisateur, puis en écrivant du code pour contrôler la sélection.

Pour ajouter un contrôle utilisateur

  1. Sélectionnez le projet My Chart Options dans l'Explorateur de solutions.

  2. Dans le menu Projet, cliquez sur Ajouter un nouvel élément.

  3. Dans la boîte de dialogue Ajouter un nouvel élément, cliquez sur Contrôle utilisateur, nommez le contrôle ChartOptions et cliquez sur Ajouter.

Pour ajouter des contrôles Windows Form au contrôle utilisateur

  1. Si le contrôle utilisateur n'est pas visible dans le concepteur, double-cliquez sur ChartOptions dans l'Explorateur de solutions.

  2. À partir de l'onglet Contrôles communs de la Boîte à outils, faites glisser la première Case d'option sur le contrôle utilisateur et modifiez les propriétés suivantes.

    Propriété

    Valeur

    Name

    columnChart

    Text

    Column Chart

  3. Ajoutez une seconde Case d'option au contrôle utilisateur et modifiez les propriétés suivantes.

    Propriété

    Valeur

    Name

    barChart

    Text

    Bar Chart

  4. Ajoutez une troisième Case d'option au contrôle utilisateur et modifiez les propriétés suivantes.

    Propriété

    Valeur

    Name

    lineChart

    Text

    Line Chart

  5. Ajoutez une quatrième Case d'option au contrôle utilisateur et modifiez les propriétés suivantes.

    Propriété

    Valeur

    Name

    areaBlockChart

    Text

    Area Block Chart

Ajout de références

Pour accéder au graphique du contrôle utilisateur dans un document, vous devez avoir une référence à la Bibliothèque d'objets Microsoft Graph 11.0 dans votre projet.

Pour ajouter une référence à la Bibliothèque d'objets Microsoft Graph 11.0

  1. Dans le menu Projet, cliquez sur Ajouter une référence.

    La boîte de dialogue Ajouter une référence s'affiche.

  2. Cliquez sur l'onglet COM.

  3. Sélectionnez Bibliothèque d'objets Microsoft Graph 11.0 dans la liste Nom du composant, puis cliquez sur OK.

Modification du style de graphique lorsqu'une case d'option est sélectionnée

Pour assurer le bon fonctionnement des boutons, créez un événement public sur le contrôle utilisateur, ajoutez une propriété pour définir le type de sélection et créez une procédure pour l'événement CheckedChanged de chacune des cases d'option.

Pour créer un événement et une propriété sur un contrôle utilisateur

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le contrôle utilisateur, puis cliquez sur Afficher le code.

  2. Ajoutez du code pour créer un événement SelectionChanged et la propriété Selection à la classe ChartOptions.

    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;
        }
    }
    

Pour gérer l'événement CheckedChange des cases d'option

  1. Définissez le type de graphique dans le gestionnaire d'événements CheckedChanged de la case d'option areaBlockChart, puis déclenchez l'événement.

    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. Définissez le type de graphique dans le gestionnaire d'événements CheckedChanged de la case d'option barChart.

    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. Définissez le type de graphique dans le gestionnaire d'événements CheckedChanged de la case d'option columnChart.

    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. Définissez le type de graphique dans le gestionnaire d'événements CheckedChanged de la case d'option lineChart.

    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. En C#, vous devez ajouter des gestionnaires d'événements pour les cases d'option. Vous pouvez ajouter le code au constructeur ChartOptions, sous l'appel à InitializeComponent. Pour plus d'informations sur la création de gestionnaires d'événements, consultez Comment : créer des gestionnaires d'événements dans Visual Studio Tools pour 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);
    }
    

Ajout du contrôle utilisateur au document

Lorsque vous générez la solution, le nouveau contrôle utilisateur est automatiquement ajouté à la Boîte à outils. Vous pouvez faire glisser le contrôle de la Boîte à outils vers votre document.

Pour ajouter le contrôle utilisateur à votre document

  1. Dans le menu Générer, cliquez sur Générer la solution.

    Le contrôle utilisateur ChartOptions est ajouté à la Boîte à outils.

  2. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur ThisDocument.vb ou sur ThisDocument.cs, puis cliquez sur Concepteur de vues.

  3. Faites glisser le contrôle ChartOptions de la Boîte à outils jusqu'au document.

    Un nouveau contrôle nommé ChartOptions1 est ajouté au projet.

Modification du type de graphique

Créez un gestionnaire d'événements pour modifier le type de graphique selon l'option sélectionnée dans le contrôle utilisateur.

Pour modifier le type de graphique qui est affiché dans le document

  1. Ajoutez le gestionnaire d'événements suivant à la classe ThisDocument.

    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. En C#, vous devez ajouter un gestionnaire d'événements pour le contrôle utilisateur à l'événement Startup.

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

Test de l'application

Vous pouvez maintenant tester votre document et vous assurer que le style du graphique est correctement mis à jour lorsque vous sélectionnez une case d'option.

Pour tester votre document

  1. Appuyez sur F5 pour exécuter votre projet.

  2. Sélectionnez plusieurs cases d'option.

  3. Vérifiez que le style du graphique change conformément à la sélection.

Étapes suivantes

Vous devrez peut-être ensuite :

Voir aussi

Concepts

Procédures pas à pas utilisant Word

Utilisation de contrôles Windows Forms sur des documents Word

Limitations des contrôles Windows Forms dans les documents Office

Autres ressources

Exemples et procédures pas à pas relatifs au développement Office