Vez por outra recebo pedidos sobre como criar planilhas através do Access, ou seja, a partir de uma aplicação MS Access que alguém já tem desenvolvida.
Na verdade isso é muito simples, por isso estou ampliando alguns passos nesta criação. Além de demonstrar como criar a planilha, estou populando-a com dados e inserindo um gráfico, tudo programaticamente (ou de modo automatizado, como preferem alguns).
Espero que gostem, ampliem o exemplo e me retornem opiniões e acréscimos...Ahhh e o mais importante para toda a comunidade de desenvolvedores, compartilhe com o máximo de pessoas que conhecer!
Boa diversão!
Private Sub cmdMakeChart_Click()
' Author: Date: Contact: URL:
' André Bernardes 23/11/2009 10:40 bernardess@gmail.com http://al-bernardes.sites.uol.com.br/
' Cria uma planilha, popula-a com uma periodicidade e dados, cria um gráfico.
Dim AppMSExcel As Excel.Application
Dim the_date As Date
Dim stop_date As Date
Dim r As Integer
Dim new_chart As Chart
Dim new_book As Workbook
Dim active_sheet As Worksheet
' Abre a aplicação MS Excel.
Set AppMSExcel = CreateObject("Excel.Application")
' Mantém aplicação escondida.
Let AppMSExcel.Visible = True
' Cria uma nova planilha (spreadsheet).
Set new_book = AppMSExcel.Workbooks.Add()
' Gera valores randômicos dentro de um período.
Set active_sheet = new_book.Sheets(1)
Let the_date = CDate("01/11/09")
Let stop_date = CDate("23/11/09")
Let r = 1
Do While the_date < stop_date
Let active_sheet.Cells(r, 1) = the_date
Let active_sheet.Cells(r, 2) = Int(Rnd * 90) + 10
Let the_date = DateAdd("d", 1, the_date)
Let r = r + 1
Loop
' Cria um gráfico (chart) conectado a estes dados.
Set new_chart = Charts.Add()
With new_chart
Let .ChartType = xlLineMarkers
.SetSourceData Source:=active_sheet.Range("A1:B" & Format$(r - 1)), PlotBy:=xlColumns
.Location Where:=xlLocationAsObject, Name:=active_sheet.Name
End With
Let active_sheet.Shapes(active_sheet.Shapes.Count).Top = 10
Let active_sheet.Shapes(active_sheet.Shapes.Count).Left = 100
Let active_sheet.Shapes(active_sheet.Shapes.Count).Width = 600
Let active_sheet.Shapes(active_sheet.Shapes.Count).Height = 400
ActiveChart.ChartArea.Select
' Acerta primeira fase de detalhes.
With ActiveChart
Let .HasTitle = True
Let .ChartTitle.Characters.Text = "Valores de Fevereiro"
Let .Axes(xlCategory, xlPrimary).HasTitle = True
Let .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Data"
Let .Axes(xlValue, xlPrimary).HasTitle = True
Let .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Valores"
End With
' Fecha a pasta (workbook) salvando.
AppMSExcel.ActiveWorkbook.Close True
' Fecha o MS Excel.
AppMSExcel.Quit
Set AppMSExcel = Nothing
MsgBox "Planilha Gerada!"
End Sub
Twitter: @officespecialis
@brzexceldevelop
@brzaccessdevel
Nenhum comentário:
Postar um comentário