FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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; |
#2
|
|||
|
|||
Cuando este listo el archivo para wardar
aplique el siguiente codigo: nombre="nombre del archivo" ExcelWorkbook1.SaveAs(nombre,xlNormal,'','', EmptyParam,EmptyParam,0, EmptyParam, EmptyParam, EmptyParam, EmptyParam,0) ExcelWorkbook1.Close; ExcelWorksheet1.Disconnect; ExcelWorkbook1.Disconnect; ExcelApplication1.Disconnect; <<<<<<<<Aunque es mejor no seguir usando excel>>>>>>>>> Existen otras herramientas menos malas Word perfect Suite, lotus, etc.
__________________
Lan y Soft |
#3
|
|||
|
|||
Muchas gracias
|
|
|
|