excel desde vb

ivan
19 de Septiembre del 2003
hola a todos.
mi problema es el siguiente: desde vb instancio un objeto tipo excel e inserto en el, los datos que me traigo de una base de datos. esto lo tengo que hacer en distintos ficheros excel, uno por cada producto. al final cierro el objeto y fin.

el problema esta en que lanzo desde vb unas macros para generar unas graficas en excel. al lanzar estas graficas no me cierra el objeto tipo excel y al generar las siguientes graficas para el nuevo prodructo me da un error.

alguien me podria decir como solucionar este problema... gracias.

sdemingo
19 de Septiembre del 2003
no se si lo he entendido bien, pero supongo que bastará con que cierres tu la aplicación y el objeto.

objExecel.Workbooks("ruta del ficher excel").Save
objExcel.Application.Quit
Set objExcel = Nothing

Un saludo

sdemingo

ivan
19 de Septiembre del 2003
eso es lo que hago. pero antes de eso, lanzo(codigo copiado de una macro en excel) en una funcion el siguiente codigo:

Charts.Add
ActiveChart.ChartType = xlBarClustered
ActiveChart.SetSourceData Source:=Sheets("Tabla datos").Range("B15:C31"), _
PlotBy:=xlColumns
ActiveChart.SeriesCollection.NewSeries

ActiveChart.SeriesCollection(1).XValues = "='Tabla datos'!R99C17:R" & rango & "C17"

ActiveChart.SeriesCollection(2).XValues = "='Tabla datos'!R99C17:R" & rango & "C17"
ActiveChart.SeriesCollection(2).Values = "='Tabla datos'!R99C18:R" & rango & "C18"
ActiveChart.SeriesCollection(2).Name = "='Tabla datos'!R98C18"

ActiveChart.Location Where:=xlLocationAsNewSheet, Name:= _
"nombre_hja_excel"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Average of Payments by Health Authorities - " & sProducto
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Health Authorities"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "DSO - Days Sales Outstanding"
End With
ActiveChart.HasLegend = True
ActiveChart.Legend.Select
Selection.Position = xlBottom
ActiveChart.HasDataTable = False

para que me genere en el excel una grafica,
y el problema esta en que al poner este codigo no descarga de memoria el objeto, y en la siguiente buelta del bucle y ejecutar el mismo codigo intenta ejecutar el codigo en el mismo libro excel y da un error.

muchas gracias por tu ayuda