try
ExcelApplication1.Connect;
Except
MessageDlg('Excel may not be installed!',mtError,[mbOK],0);
abort;
end;
try
ExcelApplication1.Visible[0]:=False;
ExcelApplication1.Workbooks.Add(OpenDialog1.FileName,0);
ExcelWorkbook1.ConnectTo(ExcelApplication1.ActiveWorkbook);
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _worksheet);
ExcelWorkbook1.Close;
ExcelApplication1.Disconnect;
ExcelApplication1.Quit;
ShowMessage('已成功添加!');
except
ExcelWorksheet1.Free;
ExcelWorkbook1.Free;
ExcelApplication1.Disconnect;
ExcelApplication1.Quit;
ShowMessage('出错啦!');在上面这个程序中无论try成功还是不成功最后进程中都还有一个Excel.exe的进程,怎么让Excel释放关闭这个Excel.exe进程啊???
ExcelApplication1.Connect;
Except
MessageDlg('Excel may not be installed!',mtError,[mbOK],0);
abort;
end;
try
ExcelApplication1.Visible[0]:=False;
ExcelApplication1.Workbooks.Add(OpenDialog1.FileName,0);
ExcelWorkbook1.ConnectTo(ExcelApplication1.ActiveWorkbook);
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _worksheet);
ExcelWorkbook1.Close;
ExcelApplication1.Disconnect;
ExcelApplication1.Quit;
ShowMessage('已成功添加!');
except
ExcelWorksheet1.Free;
ExcelWorkbook1.Free;
ExcelApplication1.Disconnect;
ExcelApplication1.Quit;
ShowMessage('出错啦!');在上面这个程序中无论try成功还是不成功最后进程中都还有一个Excel.exe的进程,怎么让Excel释放关闭这个Excel.exe进程啊???
的意思是把释放语句放在finally块里面,finally里面才是一定要执行的代码
except里面的代码只有出错了才执行,否则是不会执行的
但现在我这是出错不出错都关不了这个进程.
Try
finally
ExcelWorksheet1.Free;
ExcelWorkbook1.Free;
ExcelApplication1.Disconnect;
ExcelApplication1.Quit;
end;
我在try和except都有用disconnected和quit.
ExcelApplication1.Connect;
Except
MessageDlg('Excel may not be installed!',mtError,[mbOK],0);
abort;
end;
try
//ExcelApplication1.Visible[0]:=False;
//ExcelApplication1.Workbooks.Add(OpenDialog1.FileName,0);
//换成下面的试试,我程序中也有Excel导入导入功能,没有你说的那个问题呀
ExcelApplication1.Workbooks.Open(OpenDlg.FileName,null,null,null,null,null,null,null,null,null,null,null,null,0);
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
//ExcelWorkbook1.ConnectTo(ExcelApplication1.ActiveWorkbook);
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _worksheet);
ExcelWorkbook1.Close;
ExcelApplication1.Disconnect;
ExcelApplication1.Quit;
ShowMessage('已成功添加!');
except
ExcelWorksheet1.Free;
ExcelWorkbook1.Free;
ExcelApplication1.Disconnect;
ExcelApplication1.Quit;
ShowMessage('出错啦!');