我用DELPHI控制EXCEL文件,在这个EXCEL文件中,我建了一个工作簿(是模板),当新建工作簿时,先将模板文件另存成一个工作簿,请问如何解决??
7 个解决方案
#1
你可以去www.google.com或www.baidu.com搜索一下
用Delphi程序控制Excel的操作
使用VBA可以随心所欲地操作Excel。同样,使用Delphi也能完全控制Excel的所有功能。下面,我们以一个例子来入手吧。
在窗口Form1上面加入组件5个Button和1个CheckBox组件,在Users中加入ComObj单元,在Private加入下面的私有变量:
Private
{Private declarations}
v :Variant;
Sheet:Variant;
在单击事件中加入如下代码:
procedure TForm1.Button1Click(Sender:TObject);
begin//打开Excel新建文件
try
v := CreateOleObject('Excel.Application');
v.Visible:=CheckBox1.Checked;//是否显示Excel
v.WorkBooks.Add;//新建Excel文件
v.WorkBooks[1].WorkSheets[1].Name:='操作Excel';//第一页标题
v.WorkBooks[1].WorkSheets[2].Name:='编程乐园';
v.WorkBooks[1].WorkSheets[3].Name:='都来看呀';
// v.WorkBooks[1].WorkSheets['Delphi演示'];'等效下面的语句
Sheet:=v.WorkBooks[1].WorkBooks[1];
Sheet.Cells[1,1]:='好看';//单元格内容
Sheet.Cells[1,2]:='确实';
Sheet.Cells[1,2]:='我喜欢';
except//错误处理
ShowMessage('初始化Excel失败,可能没有装Excel或者其他错误,请重起再试');
v.DisplayAlerts:=false;//是否提示存盘
v.Quit;//退出Excel
exit;
end;
Application.Restore;
Application.BringToFront;
end;
其中,ComObj中包含了用来检索OLE的对象和向它传发命令的例程,第一行代码启动Excel,但这时是不可见的,只有在后台运行,所以第二行代码根据CheckBox1.Checked来确定是否显示Excel运行界面。如果需要打开本身存在的Excel文件,则用v.WorkBooks.Open(OpenDialog1.FileName);代替v.WorkBooks.Add;就可以了。
Sheet对象是很多页面的集合,其他的WorkBooks是工作簿的集合,WorkBooks对象是工作表的集合,Charts对象是图表的集合。
//Excel文档格式设置
procedrue TForm1.Button5Click(Sender:TObject);
var
Range:Variant;
begin
if OpenDialog1.Execute then
begin
try
v:=CreateOleObject('Excel.Application');
v.Visible:=CheckBox1.Checked;
v.WorkBooks.OpenDialog1.FileName);
Range :=v.WorkBooks[1].WorkBooks[1].Range['A2:G2'];//单元格从A2到G2
Range.Merge;//合并单元格
Range.Rows.RowHeight :=50;//设置行高;
Range.Borders.LineStyle:=1;//加边框
Range.Columns[2].ColumnWidth:=12;//设置列宽
Range.FormulaR1C1:='合并区';
Range.HorizontalAlignment:=3;//xlCenter(水平对齐方式)
Range.VerticalAlignment:=2;//xlCenter(垂直对齐方式)
Range.Characters.Font.Name:='宋体';//字体
Range.Characters.Font.Size:=15;
Range.Characters.Font.OutlineFont:=False;//是否有下划线
Range.Characters.Font.ColorIndex:=0;//xlAutomatic;颜色
except//错误处理
ShowMessage('初始化Excel失败,可能没有装Excel或者其他错误,请重起再试');
v.DisplayAlerts:=false;//是否提示存盘
v.Quit;//退出Excel
end;
end;
//EXCEL打印页面设置及打印预览
procedure TForm1.Button4Click(Sender:TObject);
begin
if OpenDialog1.Execute then
begin
try
v:=CreateOleObject('Excel.Application');
v.Visible:=CheckBox1.Checked;
v.WorkBooks.OpenDialog1.FileName);
Sheet:=v.WorkBooks[1].WorkBooks[1];
Sheet.PageSetup.PrintTitleRows:='$1:$3';//页眉
Sheet.PageSetup.PrintTitleColumns:='';
Sheet.PageSetup.LeftFooter:='注:页脚'+'总共&N页'+'——第&P页';//页脚
Sheet.PageSetup.LeftMargin:=30;//设置边距
Sheet.PageSetup.RightMargin:=30;
Sheet.PageSetup.TopMargin:=30;
Sheet.PageSetup.BottomMargin:=50;
// Sheet.PageSetup.PrintQuality:= 400;//分辨率(根据打印机确定)
Sheet.PageSetup.CenterHorizontally:=true;//是否水平居中
Sheet.PageSetup.CenterVertical:=true;//是否垂直居中
Sheet.PageSetup.Orientation:=2;//横向打印
Sheet.PageSetup.Draft:=false;//非草稿模式
// Sheet.PageSetup.FirstPageNumber:=xlAutomatic;
Sheet.PageSetup.BlackAndWhite:=true;//黑白稿
Sheet.PageSetup..Zoom:=100;//缩放
Sheet.PrintPreView;//打印预览
except//错误处理
ShowMessage('初始化Excel失败,可能没有装Excel或者其他错误,请重起再试');
v.DisplayAlerts:=false;//是否提示存盘
v.Quit;//退出Excel
end;
end;
end;
最后就是要关闭Excel了。在创建了Excel Application对象后,调用它的Quit方法完成关闭事件。
//关闭EXCEL并退出
procedure TForm1.Button3Click(Sender:TObject);
begin
try
if not varIsEmpty(v) then
begin//如果需要在关闭前确定是否存盘,加入:
// v.DiaplayAlert:=true;//确定存盘
// v.DialayAlert:=False;//不存盘,直接退出
v.WorkBooks[1].Close(True,'C:\untitled.xls');// 取文件名退出
v.Quit;
end;
finally
Close;
end
end;
用Delphi程序控制Excel的操作
使用VBA可以随心所欲地操作Excel。同样,使用Delphi也能完全控制Excel的所有功能。下面,我们以一个例子来入手吧。
在窗口Form1上面加入组件5个Button和1个CheckBox组件,在Users中加入ComObj单元,在Private加入下面的私有变量:
Private
{Private declarations}
v :Variant;
Sheet:Variant;
在单击事件中加入如下代码:
procedure TForm1.Button1Click(Sender:TObject);
begin//打开Excel新建文件
try
v := CreateOleObject('Excel.Application');
v.Visible:=CheckBox1.Checked;//是否显示Excel
v.WorkBooks.Add;//新建Excel文件
v.WorkBooks[1].WorkSheets[1].Name:='操作Excel';//第一页标题
v.WorkBooks[1].WorkSheets[2].Name:='编程乐园';
v.WorkBooks[1].WorkSheets[3].Name:='都来看呀';
// v.WorkBooks[1].WorkSheets['Delphi演示'];'等效下面的语句
Sheet:=v.WorkBooks[1].WorkBooks[1];
Sheet.Cells[1,1]:='好看';//单元格内容
Sheet.Cells[1,2]:='确实';
Sheet.Cells[1,2]:='我喜欢';
except//错误处理
ShowMessage('初始化Excel失败,可能没有装Excel或者其他错误,请重起再试');
v.DisplayAlerts:=false;//是否提示存盘
v.Quit;//退出Excel
exit;
end;
Application.Restore;
Application.BringToFront;
end;
其中,ComObj中包含了用来检索OLE的对象和向它传发命令的例程,第一行代码启动Excel,但这时是不可见的,只有在后台运行,所以第二行代码根据CheckBox1.Checked来确定是否显示Excel运行界面。如果需要打开本身存在的Excel文件,则用v.WorkBooks.Open(OpenDialog1.FileName);代替v.WorkBooks.Add;就可以了。
Sheet对象是很多页面的集合,其他的WorkBooks是工作簿的集合,WorkBooks对象是工作表的集合,Charts对象是图表的集合。
//Excel文档格式设置
procedrue TForm1.Button5Click(Sender:TObject);
var
Range:Variant;
begin
if OpenDialog1.Execute then
begin
try
v:=CreateOleObject('Excel.Application');
v.Visible:=CheckBox1.Checked;
v.WorkBooks.OpenDialog1.FileName);
Range :=v.WorkBooks[1].WorkBooks[1].Range['A2:G2'];//单元格从A2到G2
Range.Merge;//合并单元格
Range.Rows.RowHeight :=50;//设置行高;
Range.Borders.LineStyle:=1;//加边框
Range.Columns[2].ColumnWidth:=12;//设置列宽
Range.FormulaR1C1:='合并区';
Range.HorizontalAlignment:=3;//xlCenter(水平对齐方式)
Range.VerticalAlignment:=2;//xlCenter(垂直对齐方式)
Range.Characters.Font.Name:='宋体';//字体
Range.Characters.Font.Size:=15;
Range.Characters.Font.OutlineFont:=False;//是否有下划线
Range.Characters.Font.ColorIndex:=0;//xlAutomatic;颜色
except//错误处理
ShowMessage('初始化Excel失败,可能没有装Excel或者其他错误,请重起再试');
v.DisplayAlerts:=false;//是否提示存盘
v.Quit;//退出Excel
end;
end;
//EXCEL打印页面设置及打印预览
procedure TForm1.Button4Click(Sender:TObject);
begin
if OpenDialog1.Execute then
begin
try
v:=CreateOleObject('Excel.Application');
v.Visible:=CheckBox1.Checked;
v.WorkBooks.OpenDialog1.FileName);
Sheet:=v.WorkBooks[1].WorkBooks[1];
Sheet.PageSetup.PrintTitleRows:='$1:$3';//页眉
Sheet.PageSetup.PrintTitleColumns:='';
Sheet.PageSetup.LeftFooter:='注:页脚'+'总共&N页'+'——第&P页';//页脚
Sheet.PageSetup.LeftMargin:=30;//设置边距
Sheet.PageSetup.RightMargin:=30;
Sheet.PageSetup.TopMargin:=30;
Sheet.PageSetup.BottomMargin:=50;
// Sheet.PageSetup.PrintQuality:= 400;//分辨率(根据打印机确定)
Sheet.PageSetup.CenterHorizontally:=true;//是否水平居中
Sheet.PageSetup.CenterVertical:=true;//是否垂直居中
Sheet.PageSetup.Orientation:=2;//横向打印
Sheet.PageSetup.Draft:=false;//非草稿模式
// Sheet.PageSetup.FirstPageNumber:=xlAutomatic;
Sheet.PageSetup.BlackAndWhite:=true;//黑白稿
Sheet.PageSetup..Zoom:=100;//缩放
Sheet.PrintPreView;//打印预览
except//错误处理
ShowMessage('初始化Excel失败,可能没有装Excel或者其他错误,请重起再试');
v.DisplayAlerts:=false;//是否提示存盘
v.Quit;//退出Excel
end;
end;
end;
最后就是要关闭Excel了。在创建了Excel Application对象后,调用它的Quit方法完成关闭事件。
//关闭EXCEL并退出
procedure TForm1.Button3Click(Sender:TObject);
begin
try
if not varIsEmpty(v) then
begin//如果需要在关闭前确定是否存盘,加入:
// v.DiaplayAlert:=true;//确定存盘
// v.DialayAlert:=False;//不存盘,直接退出
v.WorkBooks[1].Close(True,'C:\untitled.xls');// 取文件名退出
v.Quit;
end;
finally
Close;
end
end;
#2
这位老兄真有意思,题目也不看清楚,随便在网上搜下,就复制粘贴过来,不过,还是谢谢你。
请看题目好吗????
:((
请看题目好吗????
:((
#3
楼上老兄简直在害我,别人都以为解决了
#4
其实他是真的解决拉,只要看好最后的就行啦
v.WorkBooks[1].Close(True,'C:\untitled.xls');// 取文件名退出
v.WorkBooks[1].Close(True,'C:\untitled.xls');// 取文件名退出
#5
hehe
#6
如果使用OLE这个问题就很好办
#7
uses comobj;
var e:variant;
begin
e:=createoleobject('excel.application');
e.workbooks.open('c:\test.xls'); //打开你的excel文件
e.workbooks[1].saveas('c:\test2.xls',CreateBackup:=False); //将当前工作簿另存
e.WorkBooks[1].saved:=true;
e.workbooks[1].close;
e.workbooks.add; //新建工作簿
e.visible:=true;
end;
var e:variant;
begin
e:=createoleobject('excel.application');
e.workbooks.open('c:\test.xls'); //打开你的excel文件
e.workbooks[1].saveas('c:\test2.xls',CreateBackup:=False); //将当前工作簿另存
e.WorkBooks[1].saved:=true;
e.workbooks[1].close;
e.workbooks.add; //新建工作簿
e.visible:=true;
end;
#1
你可以去www.google.com或www.baidu.com搜索一下
用Delphi程序控制Excel的操作
使用VBA可以随心所欲地操作Excel。同样,使用Delphi也能完全控制Excel的所有功能。下面,我们以一个例子来入手吧。
在窗口Form1上面加入组件5个Button和1个CheckBox组件,在Users中加入ComObj单元,在Private加入下面的私有变量:
Private
{Private declarations}
v :Variant;
Sheet:Variant;
在单击事件中加入如下代码:
procedure TForm1.Button1Click(Sender:TObject);
begin//打开Excel新建文件
try
v := CreateOleObject('Excel.Application');
v.Visible:=CheckBox1.Checked;//是否显示Excel
v.WorkBooks.Add;//新建Excel文件
v.WorkBooks[1].WorkSheets[1].Name:='操作Excel';//第一页标题
v.WorkBooks[1].WorkSheets[2].Name:='编程乐园';
v.WorkBooks[1].WorkSheets[3].Name:='都来看呀';
// v.WorkBooks[1].WorkSheets['Delphi演示'];'等效下面的语句
Sheet:=v.WorkBooks[1].WorkBooks[1];
Sheet.Cells[1,1]:='好看';//单元格内容
Sheet.Cells[1,2]:='确实';
Sheet.Cells[1,2]:='我喜欢';
except//错误处理
ShowMessage('初始化Excel失败,可能没有装Excel或者其他错误,请重起再试');
v.DisplayAlerts:=false;//是否提示存盘
v.Quit;//退出Excel
exit;
end;
Application.Restore;
Application.BringToFront;
end;
其中,ComObj中包含了用来检索OLE的对象和向它传发命令的例程,第一行代码启动Excel,但这时是不可见的,只有在后台运行,所以第二行代码根据CheckBox1.Checked来确定是否显示Excel运行界面。如果需要打开本身存在的Excel文件,则用v.WorkBooks.Open(OpenDialog1.FileName);代替v.WorkBooks.Add;就可以了。
Sheet对象是很多页面的集合,其他的WorkBooks是工作簿的集合,WorkBooks对象是工作表的集合,Charts对象是图表的集合。
//Excel文档格式设置
procedrue TForm1.Button5Click(Sender:TObject);
var
Range:Variant;
begin
if OpenDialog1.Execute then
begin
try
v:=CreateOleObject('Excel.Application');
v.Visible:=CheckBox1.Checked;
v.WorkBooks.OpenDialog1.FileName);
Range :=v.WorkBooks[1].WorkBooks[1].Range['A2:G2'];//单元格从A2到G2
Range.Merge;//合并单元格
Range.Rows.RowHeight :=50;//设置行高;
Range.Borders.LineStyle:=1;//加边框
Range.Columns[2].ColumnWidth:=12;//设置列宽
Range.FormulaR1C1:='合并区';
Range.HorizontalAlignment:=3;//xlCenter(水平对齐方式)
Range.VerticalAlignment:=2;//xlCenter(垂直对齐方式)
Range.Characters.Font.Name:='宋体';//字体
Range.Characters.Font.Size:=15;
Range.Characters.Font.OutlineFont:=False;//是否有下划线
Range.Characters.Font.ColorIndex:=0;//xlAutomatic;颜色
except//错误处理
ShowMessage('初始化Excel失败,可能没有装Excel或者其他错误,请重起再试');
v.DisplayAlerts:=false;//是否提示存盘
v.Quit;//退出Excel
end;
end;
//EXCEL打印页面设置及打印预览
procedure TForm1.Button4Click(Sender:TObject);
begin
if OpenDialog1.Execute then
begin
try
v:=CreateOleObject('Excel.Application');
v.Visible:=CheckBox1.Checked;
v.WorkBooks.OpenDialog1.FileName);
Sheet:=v.WorkBooks[1].WorkBooks[1];
Sheet.PageSetup.PrintTitleRows:='$1:$3';//页眉
Sheet.PageSetup.PrintTitleColumns:='';
Sheet.PageSetup.LeftFooter:='注:页脚'+'总共&N页'+'——第&P页';//页脚
Sheet.PageSetup.LeftMargin:=30;//设置边距
Sheet.PageSetup.RightMargin:=30;
Sheet.PageSetup.TopMargin:=30;
Sheet.PageSetup.BottomMargin:=50;
// Sheet.PageSetup.PrintQuality:= 400;//分辨率(根据打印机确定)
Sheet.PageSetup.CenterHorizontally:=true;//是否水平居中
Sheet.PageSetup.CenterVertical:=true;//是否垂直居中
Sheet.PageSetup.Orientation:=2;//横向打印
Sheet.PageSetup.Draft:=false;//非草稿模式
// Sheet.PageSetup.FirstPageNumber:=xlAutomatic;
Sheet.PageSetup.BlackAndWhite:=true;//黑白稿
Sheet.PageSetup..Zoom:=100;//缩放
Sheet.PrintPreView;//打印预览
except//错误处理
ShowMessage('初始化Excel失败,可能没有装Excel或者其他错误,请重起再试');
v.DisplayAlerts:=false;//是否提示存盘
v.Quit;//退出Excel
end;
end;
end;
最后就是要关闭Excel了。在创建了Excel Application对象后,调用它的Quit方法完成关闭事件。
//关闭EXCEL并退出
procedure TForm1.Button3Click(Sender:TObject);
begin
try
if not varIsEmpty(v) then
begin//如果需要在关闭前确定是否存盘,加入:
// v.DiaplayAlert:=true;//确定存盘
// v.DialayAlert:=False;//不存盘,直接退出
v.WorkBooks[1].Close(True,'C:\untitled.xls');// 取文件名退出
v.Quit;
end;
finally
Close;
end
end;
用Delphi程序控制Excel的操作
使用VBA可以随心所欲地操作Excel。同样,使用Delphi也能完全控制Excel的所有功能。下面,我们以一个例子来入手吧。
在窗口Form1上面加入组件5个Button和1个CheckBox组件,在Users中加入ComObj单元,在Private加入下面的私有变量:
Private
{Private declarations}
v :Variant;
Sheet:Variant;
在单击事件中加入如下代码:
procedure TForm1.Button1Click(Sender:TObject);
begin//打开Excel新建文件
try
v := CreateOleObject('Excel.Application');
v.Visible:=CheckBox1.Checked;//是否显示Excel
v.WorkBooks.Add;//新建Excel文件
v.WorkBooks[1].WorkSheets[1].Name:='操作Excel';//第一页标题
v.WorkBooks[1].WorkSheets[2].Name:='编程乐园';
v.WorkBooks[1].WorkSheets[3].Name:='都来看呀';
// v.WorkBooks[1].WorkSheets['Delphi演示'];'等效下面的语句
Sheet:=v.WorkBooks[1].WorkBooks[1];
Sheet.Cells[1,1]:='好看';//单元格内容
Sheet.Cells[1,2]:='确实';
Sheet.Cells[1,2]:='我喜欢';
except//错误处理
ShowMessage('初始化Excel失败,可能没有装Excel或者其他错误,请重起再试');
v.DisplayAlerts:=false;//是否提示存盘
v.Quit;//退出Excel
exit;
end;
Application.Restore;
Application.BringToFront;
end;
其中,ComObj中包含了用来检索OLE的对象和向它传发命令的例程,第一行代码启动Excel,但这时是不可见的,只有在后台运行,所以第二行代码根据CheckBox1.Checked来确定是否显示Excel运行界面。如果需要打开本身存在的Excel文件,则用v.WorkBooks.Open(OpenDialog1.FileName);代替v.WorkBooks.Add;就可以了。
Sheet对象是很多页面的集合,其他的WorkBooks是工作簿的集合,WorkBooks对象是工作表的集合,Charts对象是图表的集合。
//Excel文档格式设置
procedrue TForm1.Button5Click(Sender:TObject);
var
Range:Variant;
begin
if OpenDialog1.Execute then
begin
try
v:=CreateOleObject('Excel.Application');
v.Visible:=CheckBox1.Checked;
v.WorkBooks.OpenDialog1.FileName);
Range :=v.WorkBooks[1].WorkBooks[1].Range['A2:G2'];//单元格从A2到G2
Range.Merge;//合并单元格
Range.Rows.RowHeight :=50;//设置行高;
Range.Borders.LineStyle:=1;//加边框
Range.Columns[2].ColumnWidth:=12;//设置列宽
Range.FormulaR1C1:='合并区';
Range.HorizontalAlignment:=3;//xlCenter(水平对齐方式)
Range.VerticalAlignment:=2;//xlCenter(垂直对齐方式)
Range.Characters.Font.Name:='宋体';//字体
Range.Characters.Font.Size:=15;
Range.Characters.Font.OutlineFont:=False;//是否有下划线
Range.Characters.Font.ColorIndex:=0;//xlAutomatic;颜色
except//错误处理
ShowMessage('初始化Excel失败,可能没有装Excel或者其他错误,请重起再试');
v.DisplayAlerts:=false;//是否提示存盘
v.Quit;//退出Excel
end;
end;
//EXCEL打印页面设置及打印预览
procedure TForm1.Button4Click(Sender:TObject);
begin
if OpenDialog1.Execute then
begin
try
v:=CreateOleObject('Excel.Application');
v.Visible:=CheckBox1.Checked;
v.WorkBooks.OpenDialog1.FileName);
Sheet:=v.WorkBooks[1].WorkBooks[1];
Sheet.PageSetup.PrintTitleRows:='$1:$3';//页眉
Sheet.PageSetup.PrintTitleColumns:='';
Sheet.PageSetup.LeftFooter:='注:页脚'+'总共&N页'+'——第&P页';//页脚
Sheet.PageSetup.LeftMargin:=30;//设置边距
Sheet.PageSetup.RightMargin:=30;
Sheet.PageSetup.TopMargin:=30;
Sheet.PageSetup.BottomMargin:=50;
// Sheet.PageSetup.PrintQuality:= 400;//分辨率(根据打印机确定)
Sheet.PageSetup.CenterHorizontally:=true;//是否水平居中
Sheet.PageSetup.CenterVertical:=true;//是否垂直居中
Sheet.PageSetup.Orientation:=2;//横向打印
Sheet.PageSetup.Draft:=false;//非草稿模式
// Sheet.PageSetup.FirstPageNumber:=xlAutomatic;
Sheet.PageSetup.BlackAndWhite:=true;//黑白稿
Sheet.PageSetup..Zoom:=100;//缩放
Sheet.PrintPreView;//打印预览
except//错误处理
ShowMessage('初始化Excel失败,可能没有装Excel或者其他错误,请重起再试');
v.DisplayAlerts:=false;//是否提示存盘
v.Quit;//退出Excel
end;
end;
end;
最后就是要关闭Excel了。在创建了Excel Application对象后,调用它的Quit方法完成关闭事件。
//关闭EXCEL并退出
procedure TForm1.Button3Click(Sender:TObject);
begin
try
if not varIsEmpty(v) then
begin//如果需要在关闭前确定是否存盘,加入:
// v.DiaplayAlert:=true;//确定存盘
// v.DialayAlert:=False;//不存盘,直接退出
v.WorkBooks[1].Close(True,'C:\untitled.xls');// 取文件名退出
v.Quit;
end;
finally
Close;
end
end;
#2
这位老兄真有意思,题目也不看清楚,随便在网上搜下,就复制粘贴过来,不过,还是谢谢你。
请看题目好吗????
:((
请看题目好吗????
:((
#3
楼上老兄简直在害我,别人都以为解决了
#4
其实他是真的解决拉,只要看好最后的就行啦
v.WorkBooks[1].Close(True,'C:\untitled.xls');// 取文件名退出
v.WorkBooks[1].Close(True,'C:\untitled.xls');// 取文件名退出
#5
hehe
#6
如果使用OLE这个问题就很好办
#7
uses comobj;
var e:variant;
begin
e:=createoleobject('excel.application');
e.workbooks.open('c:\test.xls'); //打开你的excel文件
e.workbooks[1].saveas('c:\test2.xls',CreateBackup:=False); //将当前工作簿另存
e.WorkBooks[1].saved:=true;
e.workbooks[1].close;
e.workbooks.add; //新建工作簿
e.visible:=true;
end;
var e:variant;
begin
e:=createoleobject('excel.application');
e.workbooks.open('c:\test.xls'); //打开你的excel文件
e.workbooks[1].saveas('c:\test2.xls',CreateBackup:=False); //将当前工作簿另存
e.WorkBooks[1].saved:=true;
e.workbooks[1].close;
e.workbooks.add; //新建工作簿
e.visible:=true;
end;