Показать сообщение отдельно
  #2  
Старый 20.06.2009, 17:29
Аватар для pesi
pesi pesi вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 275
Репутация: 43
По умолчанию

В uses ДОБАВЬ ComObj И ПОПРОБУЙ ВОТ ЭТО
Код:
var
 XLApp,Sheet,Colum:Variant;
begin
 XLApp:= CreateOleObject('Excel.Application');
 XLApp.Visible:=true;
 XLApp.Workbooks.Add(-4167);
 XLApp.Workbooks[1].WorkSheets[1].Name:='Формулы';

     XLapp.WorkBooks[1].WorkSheets[1].Range['A1:H7'].Borders.LineStyle := 1;
     XLapp.WorkBooks[1].WorkSheets[1].Range['F3:F6'].NumberFormat:='0,0000';
     XLapp.WorkBooks[1].WorkSheets[1].Range['D3:D6'].NumberFormat:='0,00';
     XLapp.WorkBooks[1].WorkSheets[1].Range['E3:E6'].NumberFormat:='@';
     XLapp.WorkBooks[1].WorkSheets[1].Range['G3:G7'].NumberFormat:='0,00';

 Colum:=XLApp.Workbooks[1].WorkSheets['Формулы'];
 Colum.Rows[1].Font.Color:=clBlack;
 Colum.Rows[1].Font.Size:=10;

 Sheet:=XLApp.Workbooks[1].WorkSheets['Формулы'];

 Sheet.Cells[1,1]:='№';
 Sheet.Cells[3,1]:='1';
 Sheet.Cells[4,1]:='2';
 Sheet.Cells[5,1]:='3';
 Sheet.Cells[6,1]:='4';

 Sheet.Cells[3,4]:='=(B3+C3)/2';
 Sheet.Cells[4,4]:='=(B4+C4)/2';
  Sheet.Cells[5,4]:='=(B5+C5)/2';
 Sheet.Cells[6,4]:='=(B6+C6)/2';

 Sheet.Cells[3,5]:='(111)';
 Sheet.Cells[4,5]:='(200)';
 Sheet.Cells[5,5]:='(220)';
 Sheet.Cells[6,5]:='(311)';

 Sheet.Cells[3,6]:=strtofloat('0,2338');
 Sheet.Cells[4,6]:=strtofloat('0,2025');
 Sheet.Cells[5,6]:=strtofloat('0,1432');
 Sheet.Cells[6,6]:=strtofloat('0,1221');

 Sheet.Cells[7,7]:='=(G3+G4+G5+G6)/2';

  Sheet.Cells[1,2]:='De, мм*';
  Sheet.Cells[1,5]:='d hkl, HM';
  Sheet.Cells[1,7]:='C=Deср*dhkl, мм*нм';
  Sheet.Cells[2,2]:='De1';
  Sheet.Cells[2,3]:='De2';
  Sheet.Cells[2,4]:='Decp';
  Sheet.Cells[7,1]:='Ccp=';

Sheet.Cells[1,2].Characters(Start:=2, Length:=1).Font.SIZE:=7;
Sheet.Cells[2,2].Characters(Start:=2, Length:=2).Font.SIZE:=7;
Sheet.Cells[2,3].Characters(Start:=2, Length:=2).Font.SIZE:=7;
Sheet.Cells[2,4].Characters(Start:=2, Length:=3).Font.SIZE:=7;
Sheet.Cells[1,7].Characters(Start:=4, Length:=1).Font.SIZE:=8;
Sheet.Cells[1,7].Characters(Start:=5, Length:=2).Font.SIZE:=6;
Sheet.Cells[1,7].Characters(Start:=9, Length:=3).Font.SIZE:=7;
Sheet.Cells[7,1].Characters(Start:=2, Length:=2).Font.SIZE:=7;

 sheet.range['A1:A2'].Merge;
 sheet.range['B1:D1'].Merge;
 sheet.range['E1:E2'].Merge;
 sheet.range['F1:F2'].Merge;
 sheet.range['G1:H2'].Merge;
 sheet.range['A7:F7'].Merge;
 sheet.range['G3:H3'].Merge;
 sheet.range['G4:H4'].Merge;
 sheet.range['G5:H5'].Merge;
 sheet.range['G6:H6'].Merge;
 sheet.range['G7:H7'].Merge;

 Sheet:=XLApp.Workbooks[1].WorkSheets['Формулы'];
 Sheet.CELLS[7,1].VerticalAlignment:=-4108;
 sheet.cells[7,1].HorizontalAlignment:=-4152;

 Sheet.CELLS[1,2].VerticalAlignment:=-4108;
 sheet.cells[1,2].HorizontalAlignment:=-4108;

 Sheet.CELLS[1,7].VerticalAlignment:=-4108;
 sheet.cells[1,7].HorizontalAlignment:=-4108;

XLapp.WorkBooks[1].WorkSheets[1].Range['A1:A6'].HorizontalAlignment:=-4108;
XLapp.WorkBooks[1].WorkSheets[1].Range['E1:E6'].HorizontalAlignment:=-4108;
XLapp.WorkBooks[1].WorkSheets[1].Range['F3:F6'].HorizontalAlignment:=-4108;

XLapp.WorkBooks[1].WorkSheets[1].Range['A1:A6'].VerticalAlignment:=-4108;
XLapp.WorkBooks[1].WorkSheets[1].Range['E1:E6'].VerticalAlignment:=-4108;
XLapp.WorkBooks[1].WorkSheets[1].Range['F3:F6'].VerticalAlignment:=-4108;

XLApp.Workbooks[1].SaveAs(ExtractFileDir(ParamStr(0))+'\' +formatdatetime('dd.mm.yyyy hh.nn.ss',now)+'.xls');
END;
Ответить с цитированием