我必须关闭Word互操作应用程序吗



我使用以下代码:

using MSWord = Microsoft.Office.Interop.Word;
.
.
.
MSWord.Application wordApp = new MSWord.Application();
MSWord.Document wordDoc = new MSWord.Document();
wordDoc = wordApp.Documents.Add(Template: oTemplatePath);
//do something with the Document... replace fields and so on...
wordApp.Visible = true;

然后该函数退出,例如,我的应用程序正在关闭。现在,用户可以编辑打开的文档,保存或关闭它

我是否必须以编程方式关闭应用程序对象(根据COM对象等)???还是这是垃圾收集器?

如果您想在使用Microsoft.Interop时正确关闭/处置COM对象你想用这种方法

System.Runtime.InteropServices.Marshal.ReleaseComObject( "Replace with your ComObject Here"); 

例如,如果我创建了一个名为wordApp的对象,我会这样声明它,并像下面的一样处理它

MSWord.Application wordApp = new MSWord.Application();
System.Runtime.InteropServices.Marshal.ReleaseComObject(wordApp); 

这可以为您提供如何使用ReleaseComObject的示例Marshal.ReleaseComObject方法

你没事。当你调用new MSWord.Application();时,一个新的Ms-Word进程会启动并管理文档。

你不必担心。如果将文档显示给用户,当用户关闭文档时,所有操作都将完成。

最新更新