Passo a passo: Atualizar um gráfico em um documento usando os botões de opção

Essa explicação passo a passo demonstra como usar os botões de opção em uma personalização da nível para o Microsoft Office Word de usuários selecionar a opção estilos de gráfico no documento.

Aplicável a: As informações neste tópico se aplicam a projetos de nível de documento para Word 2013 e Word 2010. Para obter mais informações, consulte Recursos disponíveis pelo aplicativo do Office e o tipo de projeto.

Essa explicação passo a passo mostra as seguintes tarefas:

  • Adicionando um gráfico para o documento em um nível a um projeto em tempo de design.

  • Agrupando botões de opção adicionando-os a um controle de usuário.

  • Alterando o gráfico estilo quando uma opção está selecionada.

Para ver o resultado como um exemplo completo, consulte o exemplo de controles das palavras em Passo a passo e amostras de desenvolvimento do office.

ObservaçãoObservação

Seu computador pode mostrar nomes ou locais diferentes para alguns dos elementos da interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Configurações de Visual Studio.

Pré-requisitos

Para completar este passo-a-passo, são necessários os seguintes componentes:

-

Uma edição do Visual Studio 2012 que inclui o Microsoft Office Developer Tools. Para obter mais informações, consulte [Configurando um computador para desenvolver soluções do Office](bb398242\(v=vs.110\).md).
  • Word 2013 ou Word 2010.

Criando o projeto

A primeira etapa é criar um projeto do documento do word.

para criar um novo projeto

  • Crie um projeto do documento do word com o nome Minhas opções de gráfico.Em o assistente, selecione Criar um novo documento.Para obter mais informações, consulte Como: criar projetos do Office em Visual Studio.

    O Visual Studio abre o novo documento do word no designer e adiciona o projeto de Minhas opções de gráfico a Gerenciador de Soluções.

Adicionando um gráfico para o documento

para adicionar um gráfico

  1. Em o documento do word que é hospedado no designer do Visual Studio, em fita, clique na guia de Inserir .

  2. Em o grupo de Texto , clique no botão suspenso de Inserir objeto , e clique Objeto.

    a caixa de diálogo de Objeto abre.

  3. Em a lista de Tipo de objeto na guia de Criar novo , Gráfico do Microsoft Graph selecione e clique em OK.

    Um gráfico é adicionado ao documento no ponto de inserção, e a janela de Folha de Dados aparece com alguns dados padrão.

  4. Feche a janela de Folha de Dados para aceitar os valores padrão no gráfico e clique dentro do documento para mover o foco para fora do gráfico.

  5. Clique com o botão direito do mouse no gráfico, clique em Formatar Objeto.

  6. Em a guia de Layout da caixa de diálogo de Formatar Objeto , de Quadrado de OKselecione e clique em.

Adicionar um controle de usuário ao projeto

Botões de opção em um documento não são mutuamente excludentes por padrão.Você pode fazê-los funcionar corretamente adicionando-os a um controle de usuário, e então escrever código para controlar seleção.

Para adicionar um controle de usuário

  1. Selecione o projeto de Minhas opções de gráfico em Gerenciador de Soluções.

  2. No menu Project, clique em Add New Item.

  3. Em a caixa de diálogo de Adicionar novo item , clique Controle do Usuário, nomeie o controle ChartOptions, e clique Adicionar.

Para adicionar controles de formulários do windows para o controle de usuário

  1. Se o controle de usuário não estiver visível no designer, clique duas vezes em ChartOptionsGerenciador de Soluções.

  2. De a guia de Controles Comuns de Caixa de Ferramentas, arraste o primeiro controle de Botão de opção ao controle de usuário, e altere as propriedades a seguir.

    Propriedade

    Valor

    Nome

    columnChart

    Texto

    gráfico de coluna

  3. Adicione um segundo Botão de opção ao controle de usuário, e altere as propriedades a seguir.

    Propriedade

    Valor

    Nome

    gráfico de barras

    Texto

    gráfico de barras

  4. Adicione um terceiro Botão de opção ao controle de usuário, e altere as propriedades a seguir.

    Propriedade

    Valor

    Nome

    lineChart

    Texto

    gráfico de linhas

  5. Adicione um quarto Botão de opção ao controle de usuário, e altere as propriedades a seguir.

    Propriedade

    Valor

    Nome

    areaBlockChart

    Texto

    Gráfico da área de bloco

adicionando referências

Para acessar o gráfico do controle de usuário em um documento, você deve ter uma referência ao conjunto de Microsoft.Office.Interop.Graph em seu projeto.

Para adicionar uma referência ao conjunto de Microsoft.Office.Interop.Graph

  1. No menu Project, escolha Add Reference.

    a caixa de diálogo de Adicionar Referência aparece.

  2. Em a guia de .NET , em Microsoft.Office.Interop.Graph selecione e clique em OK.Selecione a versão de 14.0.0.0 do assembly.

Alterando o gráfico estilo quando um botão de opção está selecionada

Para tornar os botões funcionar corretamente, crie um evento público no controle de usuário, adicione uma propriedade para definir o tipo de seleção, e crie um procedimento para o evento de CheckedChanged de cada um dos botões de opção.

Para criar um evento e uma propriedade em um controle de usuário

  1. Em Gerenciador de Soluções, clique com o botão direito do mouse no controle de usuário, e clique em Exibir Código.

  2. Adicione código para criar um evento de SelectionChanged e a propriedade de Selection a classe de 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;
        }
    }
    

Para manipular o evento de CheckedChange de botões de opção

  1. Defina o gráfico no manipulador de eventos de CheckedChanged de botão de opção de areaBlockChart e gera o evento.

    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. Defina o gráfico no manipulador de eventos de CheckedChanged de botão de opção de 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. Defina o gráfico no manipulador de eventos de CheckedChanged de botão de opção de 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. Defina o gráfico no manipulador de eventos de CheckedChanged de botão de opção de 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. em C#, você deve adicionar manipuladores de eventos para os botões de opção.Você pode adicionar código ao construtor de ChartOptions , abaixo de chamada para InitializeComponent.Para obter informações sobre como criar manipuladores de eventos, consulte Como: criar manipuladores de eventos em projetos do 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);
    }
    

Adicionando o controle de usuário ao documento

Quando você cria uma solução, o novo controle de usuário é adicionado automaticamente a Caixa de Ferramentas.Você pode então arraste o controle de Caixa de Ferramentas no seu documento.

Para adicionar o controle de usuário seu documento

  1. No menu Build, clique em Build Solution.

    O controle de usuário de ChartOptions é adicionado a Caixa de Ferramentas.

  2. Em Gerenciador de Soluções, clique com o botão direito do mouse ThisDocument.vb ou ThisDocument.cs, clique em Exibir Designer.

  3. Arraste o controle de ChartOptions de Caixa de Ferramentas ao documento.

    Um novo controle chamado ChartOptions1 é adicionado ao seu projeto.

Alterar o tipo de elemento gráfico

Crie um manipulador de eventos para alterar o tipo de gráfico de acordo com a opção que está selecionada no controle de usuário.

Para alterar o tipo de elemento gráfico que é exibido no documento

  1. Adicione o seguinte manipulador de eventos à classe de ThisDocument .

    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. Em C#, você deve adicionar um manipulador de eventos para o controle de usuário ao evento de Startup .

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

Testando o aplicativo

Agora você pode testar seu documento para certificar-se de que o estilo de gráfico é atualizado corretamente quando você seleciona um botão de opção.

para testar seu documento

  1. Pressione F5 para executar o seu projeto.

  2. Vários botões de opção selecione.

  3. Confirme que o estilo de gráfico muda para corresponder a seleção.

Próximas etapas

Aqui estão algumas tarefas que podem vie em seguida:

Consulte também

Conceitos

Word usando explicações passo a passo

Limitações dos controles do Windows Forms em documentos do Office

Outros recursos

Passo a passo e amostras de desenvolvimento do office