Criando um gráfico no Excel via Automação OLE no Visual Basic.
Vamos mostrar como criar um gráfico no Excel a partir de sua aplicação VB via automação OLE .
1- Inicie um novo projeto no VB e no formulário padrão insira um botão de comando -command1
2- Faça uma referência no projeto a - Microsoft Excel x.0 Object Library ( x.0 pode ser: 8.0 , 9.0 )
3- Insira o código abaixo no evento click do botão de comando:
Private Sub Command1_Click() Dim oXL As Object ' Aplicação Dim oBook As Object ' workbook Dim oSheet As Object ' Worksheet Dim oChart As Object ' grafico Excel Dim iRow As Integer ' variavel para a linha atual Dim iCol As Integer ' variavel para coluna atual Const cNumCols = 6 ' numero de pontos em cada serie Const cNumRows = 2 ' Numero de series ReDim aTemp(1 To cNumRows, 1 To cNumCols) 'inicia o Excel e cria um novo workbook Set oXL = CreateObject("Excel.application") Set oBook = oXL.Workbooks.Add Set oSheet = oBook.Worksheets.Item(1) ' Inclua alguns dados nas células para as duas series Randomize Now() For iRow = 1 To cNumRows For iCol = 1 To cNumCols aTemp(iRow, iCol) = Int(Rnd * 50) + 1 Next iCol Next iRow oSheet.Range("A1").Resize(cNumRows, cNumCols).Value = aTemp 'Inclui um objeto chart para o primeiro worksheet Set oChart = oSheet.ChartObjects.Add(50, 40, 300, 200).Chart oChart.SetSourceData Source:=oSheet.Range("A1").Resize(cNumRows, cNumCols) ' torna o Excel Visivel oXL.Visible = True oXL.UserControl = True End Sub |
- Ao iniciar o projeto ( Pressionando F5) o Excel irá ser iniciado e um novo workbook será criado.
- Os dados aleatórios ( Random ) serão incluidos no intervalo de células de A1:F2
- O gráfico será embutido na primeira worksheet
- O Gráfico será gerado com base nos dados aleatórios gerados. O resultado é exibido na figura a seguir:
Até a próxima...