先给些资料你
Delphi 5 控制Excel            作者:吴晓勇,孙唏瑜
            时间:2001年11月20日(一) 使用动态创建的方法首先创建 Excel 对象,使用ComObj:
var ExcelApp: Variant;
ExcelApp := CreateOleObject( 'Excel.Application' );1) 显示当前窗口:
ExcelApp.Visible := True;2) 更改 Excel 标题栏:
ExcelApp.Caption := '应用程序调用 Microsoft Excel';3) 添加新工作簿:
ExcelApp.WorkBooks.Add;4) 打开已存在的工作簿:
ExcelApp.WorkBooks.Open( 'C:\Excel\Demo.xls' );5) 设置第2个工作表为活动工作表:
ExcelApp.WorkSheets[2].Activate;  
或 
ExcelApp.WorksSheets[ 'Sheet2' ].Activate;6) 给单元格赋值:
ExcelApp.Cells[1,4].Value := '第一行第四列';7) 设置指定列的宽度(单位:字符个数),以第一列为例:
ExcelApp.ActiveSheet.Columns[1].ColumnsWidth := 5;8) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:
ExcelApp.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米9) 在第8行之前插入分页符:
ExcelApp.WorkSheets[1].Rows[8].PageBreak := 1;10) 在第8列之前删除分页符:
ExcelApp.ActiveSheet.Columns[4].PageBreak := 0;11) 指定边框线宽度:
ExcelApp.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3;
1-左    2-右   3-顶    4-底   5-斜( \ )     6-斜( / )12) 清除第一行第四列单元格公式:
ExcelApp.ActiveSheet.Cells[1,4].ClearContents;13) 设置第一行字体属性:
ExcelApp.ActiveSheet.Rows[1].Font.Name := '隶书';
ExcelApp.ActiveSheet.Rows[1].Font.Color  := clBlue;
ExcelApp.ActiveSheet.Rows[1].Font.Bold   := True;
ExcelApp.ActiveSheet.Rows[1].Font.UnderLine := True;14) 进行页面设置:a.页眉:
    ExcelApp.ActiveSheet.PageSetup.CenterHeader := '报表演示';
b.页脚:
    ExcelApp.ActiveSheet.PageSetup.CenterFooter := '第&P页';
c.页眉到顶端边距2cm:
    ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;
d.页脚到底端边距3cm:
    ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;
e.顶边距2cm:
    ExcelApp.ActiveSheet.PageSetup.TopMargin := 2/0.035;
f.底边距2cm:
    ExcelApp.ActiveSheet.PageSetup.BottomMargin := 2/0.035;
g.左边距2cm:
    ExcelApp.ActiveSheet.PageSetup.LeftMargin := 2/0.035;
h.右边距2cm:
    ExcelApp.ActiveSheet.PageSetup.RightMargin := 2/0.035;
i.页面水平居中:
    ExcelApp.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;
j.页面垂直居中:
    ExcelApp.ActiveSheet.PageSetup.CenterVertically := 2/0.035;
k.打印单元格网线:
    ExcelApp.ActiveSheet.PageSetup.PrintGridLines := True;15) 拷贝操作:a.拷贝整个工作表:
    ExcelApp.ActiveSheet.Used.Range.Copy;
b.拷贝指定区域:
    ExcelApp.ActiveSheet.Range[ 'A1:E2' ].Copy;
c.从A1位置开始粘贴:
    ExcelApp.ActiveSheet.Range.[ 'A1' ].PasteSpecial;
d.从文件尾部开始粘贴:
    ExcelApp.ActiveSheet.Range.PasteSpecial;16) 插入一行或一列:
a. ExcelApp.ActiveSheet.Rows[2].Insert;
b. ExcelApp.ActiveSheet.Columns[1].Insert;17) 删除一行或一列:
a. ExcelApp.ActiveSheet.Rows[2].Delete;
b. ExcelApp.ActiveSheet.Columns[1].Delete;18) 打印预览工作表:
ExcelApp.ActiveSheet.PrintPreview;19) 打印输出工作表:
ExcelApp.ActiveSheet.PrintOut;20) 工作表保存:
if not ExcelApp.ActiveWorkBook.Saved then
   ExcelApp.ActiveSheet.PrintPreview;21) 工作表另存为:
ExcelApp.SaveAs( 'C:\Excel\Demo1.xls' );22) 放弃存盘:
ExcelApp.ActiveWorkBook.Saved := True;23) 关闭工作簿:
ExcelApp.WorkBooks.Close;24) 退出 Excel:
ExcelApp.Quit;( 
 
 
Top 
 
 回复人: Snakeguo(枫) (  ) 信誉:100  2002-3-25 8:38:51  得分:0  
 
 
  二) 使用Delphi 控件方法
在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。 1)  打开Excel 
ExcelApplication1.Connect;2) 显示当前窗口:
ExcelApplication1.Visible[0]:=True;3) 更改 Excel 标题栏:
ExcelApplication1.Caption := '应用程序调用 Microsoft Excel';4) 添加新工作簿:
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0));
 
5) 添加新工作表:
var Temp_Worksheet: _WorkSheet;
begin
Temp_Worksheet:=ExcelWorkbook1.
WorkSheets.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam,0) as _WorkSheet;
ExcelWorkSheet1.ConnectTo(Temp_WorkSheet);
End;
 
6) 打开已存在的工作簿:
ExcelApplication1.Workbooks.Open (c:\a.xls
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
    EmptyParam,EmptyParam,EmptyParam,EmptyParam,0)7) 设置第2个工作表为活动工作表:
ExcelApplication1.WorkSheets[2].Activate;  或
ExcelApplication1.WorksSheets[ 'Sheet2' ].Activate;8) 给单元格赋值:
ExcelApplication1.Cells[1,4].Value := '第一行第四列';9) 设置指定列的宽度(单位:字符个数),以第一列为例:
ExcelApplication1.ActiveSheet.Columns[1].ColumnsWidth := 5;10) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:
ExcelApplication1.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米11) 在第8行之前插入分页符:
ExcelApplication1.WorkSheets[1].Rows[8].PageBreak := 1;12) 在第8列之前删除分页符:
ExcelApplication1.ActiveSheet.Columns[4].PageBreak := 0;13) 指定边框线宽度:
ExcelApplication1.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3;
1-左    2-右   3-顶    4-底   5-斜( \ )     6-斜( / )14) 清除第一行第四列单元格公式:
ExcelApplication1.ActiveSheet.Cells[1,4].ClearContents;15) 设置第一行字体属性:
ExcelApplication1.ActiveSheet.Rows[1].Font.Name := '隶书';
ExcelApplication1.ActiveSheet.Rows[1].Font.Color  := clBlue;
ExcelApplication1.ActiveSheet.Rows[1].Font.Bold   := True;
ExcelApplication1.ActiveSheet.Rows[1].Font.UnderLine := True;16) 进行页面设置:
 a.页眉:
    ExcelApplication1.ActiveSheet.PageSetup.CenterHeader := '报表演示';
b.页脚:
    ExcelApplication1.ActiveSheet.PageSetup.CenterFooter := '第&P页';
c.页眉到顶端边距2cm:
    ExcelApplication1.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;
d.页脚到底端边距3cm:
    ExcelApplication1.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;
e.顶边距2cm:
    ExcelApplication1.ActiveSheet.PageSetup.TopMargin := 2/0.035;
f.底边距2cm:
    ExcelApplication1.ActiveSheet.PageSetup.BottomMargin := 2/0.035;
g.左边距2cm:
    ExcelApplication1.ActiveSheet.PageSetup.LeftMargin := 2/0.035;
h.右边距2cm:
    ExcelApplication1.ActiveSheet.PageSetup.RightMargin := 2/0.035;
i.页面水平居中:
    ExcelApplication1.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;
j.页面垂直居中:
    ExcelApplication1.ActiveSheet.PageSetup.CenterVertically := 2/0.035;
k.打印单元格网线:
    ExcelApplication1.ActiveSheet.PageSetup.PrintGridLines := True;17) 拷贝操作:a.拷贝整个工作表:
    ExcelApplication1.ActiveSheet.Used.Range.Copy;b.拷贝指定区域:
    ExcelApplication1.ActiveSheet.Range[ 'A1:E2' ].Copy;c.从A1位置开始粘贴:
    ExcelApplication1.ActiveSheet.Range.[ 'A1' ].PasteSpecial;d.从文件尾部开始粘贴:
    ExcelApplication1.ActiveSheet.Range.PasteSpecial;18) 插入一行或一列:
a. ExcelApplication1.ActiveSheet.Rows[2].Insert;
b. ExcelApplication1.ActiveSheet.Columns[1].Insert;19) 删除一行或一列:
a. ExcelApplication1.ActiveSheet.Rows[2].Delete;
b. ExcelApplication1.ActiveSheet.Columns[1].Delete;20) 打印预览工作表:
ExcelApplication1.ActiveSheet.PrintPreview;21) 打印输出工作表:
ExcelApplication1.ActiveSheet.PrintOut;22) 工作表保存:
if not ExcelApplication1.ActiveWorkBook.Saved then
   ExcelApplication1.ActiveSheet.PrintPreview;23) 工作表另存为:
ExcelApplication1.SaveAs( 'C:\Excel\Demo1.xls' );24) 放弃存盘:
ExcelApplication1.ActiveWorkBook.Saved := True;25) 关闭工作簿:
ExcelApplication1.WorkBooks.Close;26) 退出 Excel:
ExcelApplication1.Quit;
ExcelApplication1.Disconnect;(三) 使用Delphi 控制Excle二维图
在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet
var asheet1,achart, range:variant;1)选择当第一个工作薄第一个工作表
asheet1:=ExcelApplication1.Workbooks[1].Worksheets[1];2)增加一个二维图
achart:=asheet1.chartobjects.add(100,100,200,200);3)选择二维图的形态
achart.chart.charttype:=4;4)给二维图赋值
series:=achart.chart.seriescollection;
range:=sheet1!r2c3:r3c9;
series.

解决方案 »

  1.   

    //DBGridtoExcel 从dbgrid输出到excel 
    //ExcelToDBGrid正在写、、~~~~procedure DBGridtoExcel(title : string; ps : string; DBGrid : TDBGrid);
    var
            e : variant;
            i, j : integer;
            x1, x2, y1, y2 : integer;
            rowcount, colcount : integer;
            columnwidth : array of integer;
            first, second, last : string;
    begin
            try
                    e:= CreateOleObject('Excel.Application');
                    e.workbooks.add();
            except
                    showmessage('你的计算机没有安装 "Microsoft Excel"');
                    exit;
            end;
            e.ActiveWindow.DisplayGridlines:= false;
            ///////////////
            screen.Cursor:=crhourglass;
            colcount:= DBGrid.Columns.Count;
            setlength(columnwidth, colcount);
            for i:= low(columnwidth) to high(columnwidth) do
                    columnwidth[i]:= 0;        ////////////////        e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].HorizontalAlignment:= xlGeneral;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].VerticalAlignment:= xlBottom;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].WrapText:= False;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].Orientation:= 0;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].AddIndent:= False;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].ShrinkToFit:= False;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].MergeCells:= True;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].HorizontalAlignment:= xlCenter;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].VerticalAlignment:= xlBottom;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].Font.Name:= '宋体';
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].Font.Size:= 16;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].Font.Strikethrough:= False;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].Font.Superscript:= False;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].Font.Subscript:= False;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].Font.OutlineFont:= False;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].Font.Shadow:= False;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].Font.Underline:= xlUnderlineStyleNone;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].Font.ColorIndex:= xlAutomatic;        e.Workbooks[1].Sheets[1].Cells[2, 1]:= Title;
            ///////////////说明
            e.Workbooks[1].Sheets[1].Cells[4, 1]:= ps;
            ///////////////////
            e.Workbooks[1].Sheets[1].Cells[5, 1]:= DBGrid.Fields[0].DisplayName;
            columnwidth[0]:= length(DBGrid.Fields[0].DisplayName);
            for i:= 2 to ColCount do
            begin
                    e.Workbooks[1].Sheets[1].Cells[5, i]:= DBGrid.Fields[i - 1].DisplayName;
                    columnwidth[i - 1]:= length(DBGrid.Fields[i - 1].DisplayName);
            end;
      

  2.   

    //DBGridtoExcel 从dbgrid输出到excel 
    //ExcelToDBGrid正在写、、~~~~procedure DBGridtoExcel(title : string; ps : string; DBGrid : TDBGrid);
    var
            e : variant;
            i, j : integer;
            x1, x2, y1, y2 : integer;
            rowcount, colcount : integer;
            columnwidth : array of integer;
            first, second, last : string;
    begin
            try
                    e:= CreateOleObject('Excel.Application');
                    e.workbooks.add();
            except
                    showmessage('你的计算机没有安装 "Microsoft Excel"');
                    exit;
            end;
            e.ActiveWindow.DisplayGridlines:= false;
            ///////////////
            screen.Cursor:=crhourglass;
            colcount:= DBGrid.Columns.Count;
            setlength(columnwidth, colcount);
            for i:= low(columnwidth) to high(columnwidth) do
                    columnwidth[i]:= 0;        ////////////////        e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].HorizontalAlignment:= xlGeneral;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].VerticalAlignment:= xlBottom;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].WrapText:= False;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].Orientation:= 0;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].AddIndent:= False;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].ShrinkToFit:= False;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].MergeCells:= True;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].HorizontalAlignment:= xlCenter;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].VerticalAlignment:= xlBottom;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].Font.Name:= '宋体';
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].Font.Size:= 16;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].Font.Strikethrough:= False;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].Font.Superscript:= False;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].Font.Subscript:= False;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].Font.OutlineFont:= False;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].Font.Shadow:= False;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].Font.Underline:= xlUnderlineStyleNone;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[2, 1], e.Workbooks[1].Sheets[1].Cells[2, ColCount]].Font.ColorIndex:= xlAutomatic;        e.Workbooks[1].Sheets[1].Cells[2, 1]:= Title;
            ///////////////说明
            e.Workbooks[1].Sheets[1].Cells[4, 1]:= ps;
            ///////////////////
            e.Workbooks[1].Sheets[1].Cells[5, 1]:= DBGrid.Fields[0].DisplayName;
            columnwidth[0]:= length(DBGrid.Fields[0].DisplayName);
            for i:= 2 to ColCount do
            begin
                    e.Workbooks[1].Sheets[1].Cells[5, i]:= DBGrid.Fields[i - 1].DisplayName;
                    columnwidth[i - 1]:= length(DBGrid.Fields[i - 1].DisplayName);
            end;
      

  3.   

    给个简单发法你
    1、添加ADOTable1控件,设置下列属性: 
    ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Persist Security Info=false;Data Source=c:\abc.xls"; 
    TableDirect=true; 
    TableName="sheet1$"; 
    Active=true; 
    2、添加DataSource1控件,设置下列属性: 
    DataSet=ADOTable1 
    3、添加DBGrid1控件,设置下列属性: 
    DataSource=DataSource1 
    数据就显示出来了,可以对其进行操作,当然,你可以用bde控件,用odbc连接数据库,对于word嘛,delphi自带的例子有,
      

  4.   

    //接上///////////////////
            i:= 1;
            DBGrid.DataSource.DataSet.DisableControls;
            DBGrid.DataSource.DataSet.First;
            while not DBGrid.DataSource.DataSet.Eof do
            begin
                    for j:= 1 to ColCount do
                    begin
                            e.Workbooks[1].Sheets[1].Cells[5 + i, j]:= DBGrid.Fields[j - 1].AsString;
                            if columnwidth[j - 1] < length(DBGrid.Fields[j - 1].AsString) then
                                    columnwidth[j - 1]:= length(DBGrid.Fields[j - 1].AsString)+1;
                    end;
                    DBGrid.DataSource.DataSet.Next;
                    i:= i + 1;
            end;
            while DBGrid.DataSource.DataSet.controlsdisabled do DBGrid.DataSource.DataSet.enableControls;
            /////////////////
            for i:= 1 to colcount do
                    e.Workbooks[1].Sheets[1].Columns[i].ColumnWidth:= columnwidth[i - 1];        y1:= 5;
            x1:= 1;
            y2:= 6 + DBGrid.DataSource.DataSet.RecordCount - 1;
            x2:= ColCount;        e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[y1, x1], e.Workbooks[1].Sheets[1].Cells[y2, x2]].Borders[xlEdgeTop].LineStyle:= xlContinuous;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[y1, x1], e.Workbooks[1].Sheets[1].Cells[y2, x2]].Borders[xlEdgeTop].Weight:= xlThin;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[y1, x1], e.Workbooks[1].Sheets[1].Cells[y2, x2]].Borders[xlEdgeTop].ColorIndex:= xlAutomatic;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[y1, x1], e.Workbooks[1].Sheets[1].Cells[y2, x2]].Borders[xlEdgeBottom].LineStyle:= xlContinuous;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[y1, x1], e.Workbooks[1].Sheets[1].Cells[y2, x2]].Borders[xlEdgeBottom].Weight:= xlThin;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[y1, x1], e.Workbooks[1].Sheets[1].Cells[y2, x2]].Borders[xlEdgeBottom].ColorIndex:= xlAutomatic;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[y1, x1], e.Workbooks[1].Sheets[1].Cells[y2, x2]].Borders[xlEdgeRight].LineStyle:= xlContinuous;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[y1, x1], e.Workbooks[1].Sheets[1].Cells[y2, x2]].Borders[xlEdgeRight].Weight:= xlThin;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[y1, x1], e.Workbooks[1].Sheets[1].Cells[y2, x2]].Borders[xlEdgeRight].ColorIndex:= xlAutomatic;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[y1, x1], e.Workbooks[1].Sheets[1].Cells[y2, x2]].Borders[xlEdgeLeft].LineStyle:= xlContinuous;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[y1, x1], e.Workbooks[1].Sheets[1].Cells[y2, x2]].Borders[xlEdgeLeft].Weight:= xlThin;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[y1, x1], e.Workbooks[1].Sheets[1].Cells[y2, x2]].Borders[xlEdgeLeft].ColorIndex:= xlAutomatic;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[y1, x1], e.Workbooks[1].Sheets[1].Cells[y2, x2]].Borders[xlInsideVertical].LineStyle:= xlContinuous;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[y1, x1], e.Workbooks[1].Sheets[1].Cells[y2, x2]].Borders[xlInsideVertical].Weight:= xlThin;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[y1, x1], e.Workbooks[1].Sheets[1].Cells[y2, x2]].Borders[xlInsideVertical].ColorIndex:= xlAutomatic;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[y1, x1], e.Workbooks[1].Sheets[1].Cells[y2, x2]].Borders[xlInsideHorizontal].LineStyle:= xlContinuous;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[y1, x1], e.Workbooks[1].Sheets[1].Cells[y2, x2]].Borders[xlInsideHorizontal].Weight:= xlThin;
            e.Workbooks[1].Sheets[1].Range[e.Workbooks[1].Sheets[1].Cells[y1, x1], e.Workbooks[1].Sheets[1].Cells[y2, x2]].Borders[xlInsideHorizontal].ColorIndex:= xlAutomatic;        screen.Cursor:=crdefault;
            e.visible:=true;
    end;