关于delphi关闭excel(50分)

  • 主题发起人 主题发起人 绯红之王
  • 开始时间 开始时间

绯红之王

Unregistered / Unconfirmed
GUEST, unregistred user!
var xlapp : variant
xlapp:=createoleobject('excel.application');
关闭时会用xlapp.quit
请问又没有函数直接判断xlapp是否已经quit了
以保证不会重复执行xlapp.quit
 
一般情况下应该这样写
var
xlapp : variant
begin
xlapp:=createoleobject('excel.application');
try
.......
finally
xlapp.quit
end;
end;
不要在finally之外的地方关闭xlapp
 
你试试 if Assigned (xlapp) then xlapp.quit;
 
加try...except也行吧
 
尝试关闭,如果已关闭就不处理
var
xlapp : variant
begin
xlapp:=createoleobject('excel.application');
try
xlapp.quit
finally
end;
end;
 
try...except显然不行
 
xlapp:=createoleobject('excel.application');
try
.......
finally
xlapp.quit;
xlapp:=Unassigned ;
end;

然后这样判断是不是已经退出。
if not VarIsEmpty(xlapp) then
begin
xlapp.quit;
xlapp:=Unassigned ;
end;
 
多人接受答案了。
 
后退
顶部