很多人在编写OFFICE程序时都遇到了不能很好的清除OFFICE进程的问题,我同样出遇到了这个问题,经过对相关资料的查阅有几点收获
一、
Imports MsExcel = Microsoft.Office.Interop.Excel
Myexcel = New MsExcel.Application当完成实例时,可以调用Myexcel.Hwnd获得主窗口句柄,进而可以在完成OFFICE操作时调用API将其KILL。
二、
Imports MsExcel = Microsoft.Office.Interop.Excel
Myexcel = New MsExcel.Application
'在实例后加上这一句
Myexcel.DisplayAlerts = False
'在完成OFFICE操作时调用Qiut退出,但是不会保存所有操作
Myexcel.Quit()
'还原
Myexcel.DisplayAlerts = True
Myexcel = Nothing用这个办法的好处就是你只管用,除非你要保存文档不然OFFICE不会保存文档,在程序结束时会自动清除所有OFFICE进程,缺点就是,在程序没有结束的时候,每次创建的OFFICE进程都不会结束,非要等到程序结束的时候才全部清除。
本文介绍了解决在使用Office过程中遇到的进程无法清除的问题。通过两种方法实现:一是利用API调用句柄KILL进程;二是设置DisplayAlerts为False并使用Quit方法退出,避免保存文档的同时确保进程被清理。
4780

被折叠的 条评论
为什么被折叠?



