Adicionar um gráfico a um documento do microsoft com o office web components

Não é incrível como algo tão simples como a criação de um gráfico pode se sentir tão complicado, às vezes? Se você estiver usando o Excel, Word, Powerpoint ou Access - às vezes seria bom apenas para inserir um gráfico rápido com um monte de dados sem ter que fazer um monte de configuração e mexer.

Neste artigo eu vou mostrar-lhe como usar um objeto VBA realmente conveniente e simples de Microsoft Office Web Components que lhe permite inserir um gráfico diretamente em um documento, apresentação ou qualquer outra coisa onde você pode criar código VBA para executá-lo. Isso também pode incluir produtos não-Microsoft que têm um back-end VBA, o que muitos fazem.

Neste exemplo, eu vou mostrar-lhe como ativar o modo de design no seu programa (neste caso, vamos usar o Microsoft Word), incorporar o objeto gráfico em seu projeto, em seguida, como escrever o código que preenche em com os dados.

Video: Office Web Apps- Word

Em alguns dos meus últimos artigos VBA, um pouco de você mencionou que a tarefa à mão foi um pouco complicado para qualquer um que nunca tenha escrito código antes. Espero que depois de ler este artigo, você estará motivado para tentar a sua sorte com VBA. O código incluído aqui é muito fácil e simples de escrever. Incorporação este gráfico é uma ótima maneira de obter as mãos sujas com VBA se você nunca tentou isso antes.

Se você não sabe VBA, então esta é uma ótima ferramenta para começar a incorporação de gráficos rápidos em seus projetos com muito menos esforço do que nunca.

Activar o modo de design

Neste exemplo, eu queria montar um documento rápido com um gráfico incorporado que exibe dados a partir do mês em curso do meu orçamento, bem como a média mensal de gastos ano até à data.

Neste exemplo, eu vou colocar esses valores codificados num “array” direito dentro do código VBA, mas no final você pode usar uma variedade de técnicas para carregar as variáveis ​​de matriz (uma matriz é simplesmente uma variável que contém um lista de valores) a partir de outras fontes, como uma planilha externa, ou mesmo um formulário onde você inserir os valores manualmente cada mês.

Video: Office Web Apps Tour.mp4

Para saber como importar dados para o Word de Excel, confira meu artigo sobre o tema. Para efeitos deste artigo, vamos concentrar em criar o gráfico para exibir dados.Como integrar dados do Excel em um documento do WordComo integrar dados do Excel em um documento do WordDurante a sua semana de trabalho, há provavelmente muitas vezes que você encontrar-se copiando e colando informações do Excel no Word, ou o contrário. Isto é como as pessoas costumam produzir relatórios escritos ...consulte Mais informação

Video: Install MS Office Web Apps 2010 on SharePoint 2010

Agora que eu comecei o meu documento, eu quero entrar no código. No Word ou Excel, você pode fazer isso clicando em “Arquivo”, “Opções” e, em seguida, clique na opção de personalizar a Ribbon. No lado direito de opções, você verá a coluna “Personalize a fita”, e no campo “Main Tabs” você deve ver “Developer” desmarcada. Verifique se a caixa.

Voltar em seu documento, você deve ver agora o item de menu “Desenvolvedor” disponível. Neste menu, você vai encontrar o botão “Modo Design”.

Clique em Modo de design e, em seguida, clique nesse ícone de pasta / ferramentas para “Ferramentas do Legacy”, e, em seguida, no canto inferior direito da caixa de pop-up, sob controles ActiveX, clique no botão “Mais controles”.

Role a lista de controles disponíveis até chegar a “Microsoft Office Chart xx.x”. Se tiver o Microsoft Office instalado no seu computador, então este controle será provavelmente mais disponível.

Uma vez que você inserir o controle em seu documento, você vai vê-lo aparecer como uma caixa que diz “Microsoft Office Web Components” para dentro. Este é essencialmente o gráfico vazio, pronto para exibir seus dados.

O próximo passo é escrever o código que irá configurar o tipo de gráfico e exibir os dados. Se você deseja que o processo seja manual, você poderia colocar um botão no documento que iria carregar os dados no gráfico, mas no meu caso eu queria que a coisa toda para ser completa automatizado. No momento em que abrir o documento, eu queria que ele para executar o script que carrega o gráfico, então você pode fazer isso no código (clique no botão Visual Basic para entrar no editor de código), e selecionando o objeto de documento, eo “Open” do evento.



Isto irá colocar automaticamente uma função vazia chamada “Document_Open ()” em seu código. Dentro dessa função, você deseja colar o seguinte código.

Private Sub Document_Open () Dim i As Integer Dim oChart Dim oSeries1 Dim oSeries2 `Criar matrizes para os valores de x e os valores de y XValues ​​Dim Variant, yValues1 As Variant, yValues2 As Variant XValues ​​= Array ("Bill elétrico", "Hipoteca", "Conta de telefone", _ "Bill aquecimento", "comestíveis", _ "Gasolina", "Roupas", "Compras") yValues1 = Array (124,53, 1250,24, 45,43, 253,54, 143,32, 259,85, 102,5, _ 569,94) yValues2 = Array (110, 1250, 50, 200, 130, 274, 95, _ 300)

Esta seção de código cria três matrizes. Os primeiros (XValues) é basicamente a sua lista de eixo-x de descrições para cada elemento de dados. No meu caso eu estou criando um gráfico de barras coluna com yValues1, mas você também pode criar um gráfico de linha. Eu vou te mostrar como fazer isso com yValues2. Agora cole o seguinte segmento de código também.

 com ThisDocument.ChartSpace1 .Claro .refrescar Definir oChart = .Charts.Add oChart.HasTitle = True oChart.Title.Caption = "Números orçamento mensal vs Média"

Esta seção de código cria realmente cria o gráfico em si dentro do seu container “ChartSpace”. Seu gráfico não tem quaisquer dados neste momento, mas com um par de comandos que você pode definir o título para o gráfico, bem como a legenda. Agora é hora de adicionar os dados. Cole o seguinte código abaixo o código que você já tenha colado a fazê-lo.

Definir oSeries1 = oChart.SeriesCollection.Add com oSeries1 .Caption = "Este mês" .SetData chDimCategories, chDataLiteral, XValues .SetData chDimValues, chDataLiteral, yValues1 .Type = chChartTypeColumnClustered End With `Adicionar outra série para o gráfico com os valores de x e valores de y `A partir das matrizes e definir o tipo de série a um gráfico de linhas Definir oSeries = oChart.SeriesCollection.Add com oSeries .Caption = "O gasto médio" .SetData chDimCategories, chDataLiteral, XValues .SetData chDimValues, chDataLiteral, yValues2 .Tipo = chChartTypeLineMarkers End With

O código acima cria duas séries para exibir no gráfico. A primeira série configura os dados para exibir dentro do objecto gráfico como um formato “ColumnClustered”, e a segunda série é configurado para apresentar como um formato de “TypeLineMarkers”. Isto irá mostrar os dois conjuntos de valores no mesmo gráfico, mas vai usar diferentes tipos de gráficos - que pode realmente ser uma maneira muito legal para mostrar e comparar múltiplos conjuntos de dados.

Agora que os dados é adicionado, tudo o que resta é para arrumar o eixo e acabar com as informações da carta.

 `Formatar os eixos de valores
 oChart.Axes (chAxisPositionLeft) .NumberFormat = "$ #, ## 0" oChart.Axes (chAxisPositionLeft) .MajorUnit = 1000 `Mostrar a legenda na parte inferior do gráfico oChart.HasLegend = True oChart.Legend.Position = chLegendPositionBottom
 End With
End Sub

O código acima formata os números no eixo da esquerda para exibir em formato dólar numérica. A linha seguinte configura o limite máximo do eixo vertical. Desde que eu sei itens individuais não vão mais de US $ 1000, que é o que eu definir o limite do eixo y max.

Video: Office Web Apps Demo - Create + Share To Web

Salve o documento, fechá-lo para fora, re-aberta, e voila - se vem seu gráfico, carregados automaticamente com os dados de suas duas matrizes.

Agora que você sabe como inserir os gráficos e automaticamente carregar dados para eles, basta pensar sobre as possibilidades. Tudo que você tem a fazer é obter todos os dados externos para essas matrizes - talvez uma planilha do Excel, talvez um banco de dados Access, ou qualquer outra coisa - e de repente este documento torna-se uma janela muito dinâmico e valioso para os dados armazenados.

Esta é apenas a ponta do iceburg com as MS Office objetos Web Components. Comecei com as paradas porque acho que o recurso a ser o mais emocionante. Para adicionar gráficos para qualquer aplicativo VBA que quiser com um curto script é muito útil e muito poderosa.

Se você é toda sobre gráficos, por que não dar este objeto gráfico uma tentativa? Você sabe de quaisquer outros objetos gráficos úteis para VBA? Como você incorporar dados em seus aplicativos? Compartilhe seus pensamentos e experiências na seção de comentários abaixo.


Artigos relacionados