Ver Mensaje Individual
  #1  
Antiguo 04-06-2003
auxifs auxifs is offline
Registrado
 
Registrado: jun 2003
Ubicación: madrid
Posts: 2
Reputación: 0
auxifs Va por buen camino
Guardar un fichero Excel

Tengo abierta una hoja excel con todos los datos que necesito, pero no se como guardarla en disco. El codigo que tengo es este:
¿Alguien me puede decir como guardar el documento excel en el disco con el nombre que yo quiera?

Lcid:= GetUserDefaultLCID;
If CodInf=1 Then
Begin
C:= 4; //CANTIDAD DE COLUMNAS

CH:= 1; // Número de hojas
ExcelApp.Visible[Lcid]:= False;
ExcelApp.Caption:= 'Estadistica de Envios';

ExcelBook.ConnectTo(ExcelApp.Workbooks.Add(1, Lcid));
WS.ConnectTo(ExcelBook.Worksheets[1] as _Worksheet);
WS.Activate(Lcid);
if CH = 1 then WS.Name:= 'PRUEBA';

ExcelApp.ScreenUpdating[Lcid]:= False;
WS.ConnectTo(ExcelBook.Worksheets[1] as _Worksheet);
WS.Activate(Lcid);
WS.Range[WS.Cells.Item[1, 1],WS.Cells.Item[1, 1]].Value2:='DELEGACION';
WS.Range[WS.Cells.Item[1, 2],WS.Cells.Item[1, 2]].Value2:='ENV.NACIONALES';
WS.Range[WS.Cells.Item[1, 3],WS.Cells.Item[1, 3]].Value2:='ENV.REGIONALES';
WS.Range[WS.Cells.Item[1, 4],WS.Cells.Item[1, 4]].Value2:='ENV.PROPIOS';

//ACTIVAR LA HOJA NRO. 1:
WS.ConnectTo(ExcelBook.Worksheets[1] as _Worksheet);
WS.Activate(Lcid);

ADOInf1.Close;
ADOInf1.SQL.Clear;
ADOInf1.SQL.Add('Select * from DELEGACIONES ' +
'where CenReg=' + IntToStr(CodCR) );
ADOInf1.Open;
I:=2;
While not ADOInf1.Eof Do
Begin
ADOselect.Close;
ADOselect.SQL.Clear;
ADOselect.SQL.Add('Select count(*) cuantos from ENVIOS ' +
'where ageorig=' + '''' + ADOInf1.FieldByName('CodAge').Asstring + '''' +
' and tipenv=' + '''' + '3' + '''' +
' and fecha=' + '''' + '02/06/03' + '''');
ADOselect.Open;
WS.Range[WS.Cells.Item[I, 1],WS.Cells.Item[I, 1]].Value2:=ADOInf1.FieldByName('CodAge').Asstring + ' - ' + ADOinf1.FieldByName('NomAge').Asstring;
WS.Range[WS.Cells.Item[I, 2],WS.Cells.Item[I, 2]].Value2:=ADOselect.FieldByName('cuantos').Asstring;
ADOselect.Close;
ADOselect.SQL.Clear;
ADOselect.SQL.Add('Select count(*) cuantos from ENVIOS ' +
'where ageorig=' + '''' + ADOInf1.FieldByName('CodAge').Asstring + '''' +
' and tipenv=' + '''' + '2' + '''' +
' and fecha=' + '''' + '02/06/03' + '''');
ADOselect.Open;
WS.Range[WS.Cells.Item[I, 3],WS.Cells.Item[I, 3]].Value2:=ADOselect.FieldByName('cuantos').Asstring;
ADOselect.Close;
ADOselect.SQL.Clear;
ADOselect.SQL.Add('Select count(*) cuantos from ENVIOS ' +
'where ageorig=' + '''' + ADOInf1.FieldByName('CodAge').Asstring + '''' +
' and tipenv=' + '''' + '1' + '''' +
' and fecha=' + '''' + '02/06/03' + '''');
ADOselect.Open;
WS.Range[WS.Cells.Item[I, 4],WS.Cells.Item[I, 4]].Value2:=ADOselect.FieldByName('cuantos').Asstring;
ADOInf1.Next;
Application.ProcessMessages;
I:=I+1;
End;
WS.Range[WS.Cells.Item[I, 1],WS.Cells.Item[I, 1]].Value2:='TOTAL: ';
sumanac:=0;
sumareg:=0;
sumaprop:=0;
FOR I:=2 TO I-1 DO
Begin
sumanac:=sumanac + StrToInt(WS.Range[WS.Cells.Item[I, 2],WS.Cells.Item[I, 2]].Value2);
sumareg:=sumareg + StrToInt(WS.Range[WS.Cells.Item[I, 3],WS.Cells.Item[I, 3]].Value2);
sumaprop:=sumaprop + StrToInt(WS.Range[WS.Cells.Item[I, 4],WS.Cells.Item[I, 4]].Value2);
End;
WS.Range[WS.Cells.Item[I, 2],WS.Cells.Item[I, 2]].Value2:=IntToStr(sumanac);
WS.Range[WS.Cells.Item[I, 3],WS.Cells.Item[I, 3]].Value2:=IntToStr(sumareg);
WS.Range[WS.Cells.Item[I, 4],WS.Cells.Item[I, 4]].Value2:=IntToStr(sumaprop);

ExcelApp.ScreenUpdating[Lcid]:= True;
//Aqui deberia de guardarla en disco, pero no se como
excelapp.Quit;
Responder Con Cita