如何控制EXCEL的关闭?(300分)

L

LSS

Unregistered / Unconfirmed
GUEST, unregistred user!
我在程序中利用CreateOLEObject('Excel.Application')建立对EXCEL的控制,来完成程序的报表部分,情况如下:

按打印按钮->将数据写至EXCEL表->显示EXCEL->用户可使用EXCEL的各
种操作,

在显示EXCEL时,当使用者关闭EXCEL时,在程序中如何能得到这个信息,否则在释放OLE时出错,
或者能否将用户关闭EXCEL的操作在程序中转化为隐藏EXCEL的操作?

使用环境Delphi5+Windows2000+Offices2000(Excel2000)
 
try
Excel.Quit;
except
on Exception do;
end;
 
Delphi5的Server组控件可以控制它。
Delphi带有例子。
 
我上面的示例可行。

也可使用下面的方法:
var Excel:Variant;

Excel:=CreateOleObject('Excel.Application');


释放Excel采用

Excel:=NULL; //不管Excel是否在运行都可以正常释放。
 
沈前卫的说法确实能解决问题,但怎样才能关闭所开的EXCEL窗口呢?
我总觉得这方法不太对头

 
ExcelApplication.Visible:=false;
或者
ExcelApplication.quit;
即可

又:to 沈前卫:
Office2000中,execl自动化对象的名字好象变了
不能用Excel:=CreateOleObject('Excel.Application');
创建对象了?
 
to wrench:
可以的.我就是用Office2000中测试的.
 
to wrench:
如果EXCEL手工关闭,用ExcelApplication.quit会触发异常
在OFFICES2000中可以使用Excel:=CreateOleObject('Excel.Application');
它增加了几个函数,但它保留了旧函数与OFFICES97兼容
 
释放Excel采用

Excel:=NULL; //不管Excel是否在运行都可以正常释放。

我觉得没什么不正常的啊。

用下面的方法没有上面的好.

try
Excel.Quit;
except
on Exception do;
end;
 
不妨试试Texcel,它就可以很好的控制Excel的打开,也可以得到Excel的关闭信息;不过本人使用环境Delphi4+Windows98+Offices97(Excel97)
 
這些方法我在w2k &o2k試過都事哦
 
多人接受答案了。
 
顶部