急救!!被delphi操作过Excel文件打不开了,怎么解决?(30分)

  • 主题发起人 主题发起人 panchenglin
  • 开始时间 开始时间
P

panchenglin

Unregistered / Unconfirmed
GUEST, unregistred user!
代码如下:
try
XLApp:= CreateOLEObject('Excel.Application');
XLApp.WorkBooks.open(ExcelFileName);
sheet := XLApp.workbooks[1].worksheets[1];
Row:= 4; //从第4行读单位编码数据
dwzh := XLApp.WorkBooks[1].Worksheets[1].Cells[Row,3];
................................................
................................................
finally
XLApp.WorkBooks.Close;
XLApp.quit;
XLApp := Unassigned;
end
 
你要关掉Excel进程就可以了
 
我知道,但是不能要求客户这么做。
 
在你的代码执行前检查Excel进程是否存在?有则提示用户保存后关闭Excel。如果没有Excel进程,就执行你的代码,成功后你再加段代码把进程里的Excel结束掉就可以了。
 
我也碰到过这个问题,如何解决?
 
那里因为产生了异常,没有关闭
用try excapt来处理就可以了
 
to szhcracker,在你的代码执行前检查Excel进程是否存在?这个怎么检查呢?能不能提供代码
 
你搜一下,很多的。
 
你直接用程序杀死excel.exe进程
 
把操作的excle文件复制一份临时excle文件,用Delphi操作临时excle文件,完成后有另存为把原文件覆盖。
 
后退
顶部