C
CJ
Unregistered / Unconfirmed
GUEST, unregistred user!
我需要用EXCEL做点小报表,我用如下代码:
...
var
Templete: Variant;
MsExcel:Variant;
MsExcelWorkBook:Variant;
i:integer;
begin
//Create OLE link
Showmessage('可能需要等待一些时间,按确定开始执行报表!');
Templete := ReadRpt + RPT_COMPACT1;
try
MsExcel:=CreateOleObject('Excel.Application.8');
MsExcelWorkBook:=MsExcel.WorkBooks.Add(Templete);
except
Showmessage('请先安装 Microsoft Excel 97 或更高版本。');
exit;
end;
...
MsExcel.Visible := true;
...
当填写完数据后,我希望让用户自由编辑此表格。
但是,当用户关闭EXCEL(保存或不保存工作表),程序会出现异常错误,虽然
没什么影响,但总不爽。我知道可以FREE这个对象,但这样,EXCEL就被关了
我想,建立报表后,EXCEL就和程序脱钩。难道一定要SAVE到文件再SHELLEXECUTE出来才成?
...
var
Templete: Variant;
MsExcel:Variant;
MsExcelWorkBook:Variant;
i:integer;
begin
//Create OLE link
Showmessage('可能需要等待一些时间,按确定开始执行报表!');
Templete := ReadRpt + RPT_COMPACT1;
try
MsExcel:=CreateOleObject('Excel.Application.8');
MsExcelWorkBook:=MsExcel.WorkBooks.Add(Templete);
except
Showmessage('请先安装 Microsoft Excel 97 或更高版本。');
exit;
end;
...
MsExcel.Visible := true;
...
当填写完数据后,我希望让用户自由编辑此表格。
但是,当用户关闭EXCEL(保存或不保存工作表),程序会出现异常错误,虽然
没什么影响,但总不爽。我知道可以FREE这个对象,但这样,EXCEL就被关了
我想,建立报表后,EXCEL就和程序脱钩。难道一定要SAVE到文件再SHELLEXECUTE出来才成?