很多人在编写OFFICE程序时都遇到了不能很好的清除OFFICE进程的问题,我同样出遇到了这个问题,经过对相关资料的查阅有几点收获
一、
Imports
MsExcel
=
Microsoft.Office.Interop.Excel
Myexcel = New MsExcel.Application
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
Myexcel = New MsExcel.Application
' 在实例后加上这一句
Myexcel.DisplayAlerts = False
' 在完成OFFICE操作时调用Qiut退出,但是不会保存所有操作
Myexcel.Quit()
' 还原
Myexcel.DisplayAlerts = True
Myexcel = Nothing
用这个办法的好处就是你只管用,除非你要保存文档不然OFFICE不会保存文档,在程序结束时会自动清除所有OFFICE进程,缺点就是,在程序没有结束的时候,每次创建的OFFICE进程都不会结束,非要等到程序结束的时候才全部清除。