Ver Mensaje Individual
  #1  
Antiguo 18-12-2013
Jose Manuel Jose Manuel is offline
Miembro
 
Registrado: may 2003
Posts: 112
Reputación: 21
Jose Manuel Va por buen camino
crear un grafico en excel 2007 desde Delphi 2007

Hola estoy intentando crear un grafico en EXCEL2007 utilizando DELPHI2007, y me da un error al llegar a la siguiente instrucción
Código Delphi [-]
ChartObj.Chart.SeriesCollection.Item[1].Xvalues := RangeX;
El código funciona bien en EXCEL 2003, pero no en EXCEL 2007. He cambiado esta instrucción por otras pero sigue sin funcionarme.

Os adjunto el código que estoy utilizando.

Espero que podais ayudarme.

Un saludo
Jose Manuel García.
Código Delphi [-]
procedure Tfresumen.Button1Click(Sender: TObject);
var
 XLApp, Sheet, ChartObj : Variant;
 rangeX, RangeY: OleVariant; // tambien he puesto Variant
 NumPlan:Integer;
begin
XLApp:= CreateOleObject('Excel.Application');
XLApp.Visible := True;
NumPlan:=0;
if (NumPlan=0) then
XLApp.Workbooks.Add(xlWBatWorkSheet)
else
XLApp.Workbooks[1].Sheets.Add(,XLApp.Workbooks[1].Sheets[NumPlan],1,xlWorkSheet);

Sheet := XLApp.Workbooks[1].WorkSheets[1];
Sheet.Cells[1, 1] := 'jan/08';
Sheet.Cells[2, 1] := 'feb/08';
Sheet.Cells[3, 1] := 'mar/08';

Sheet.Cells[1, 2] := '1.1';
Sheet.Cells[2, 2] := '1.2';
Sheet.Cells[3, 2] := '1.3';

Sheet.ChartObjects.Add(100,50,400,250);
ChartObj := Sheet.ChartObjects(1);
ChartObj.Chart.ChartType := xlLine;
RangeY := Sheet.Range['B1:B3'];
RangeX := Sheet.Range['A1:A3'];
ChartObj.Chart.SeriesCollection.Add(RangeY);

//---------------------------------------------------------------
ChartObj.Chart.SeriesCollection.Item[1].Xvalues := RangeX;
// error: no se ha encontrado el miembro;
//---------------------------------------------------------------
//ChartObj.Chart.SeriesCollection(1).Xvalues := RangeX;
// error: los tipos no coinciden;
//---------------------------------------------------------------
//ChartObj.Chart.SeriesCollection.Item(1).Xvalues := RangeX;
// error: los tipos no coinciden;
//---------------------------------------------------------------
//ChartObj.Chart.SeriesCollection.Item(1).Xvalues := 'Un texto string';
// error: OLE error800a03EC
//---------------------------------------------------------------
end;
Responder Con Cita