我必须关闭Word Interop应用程序吗?

时间:2012-11-15 19:04:35

标签: c# ms-word office-interop

我正在使用以下代码:

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;
然后

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

我是否必须以编程方式关闭Application-Object(就COM-Objects等而言)?或者这是垃圾收集器吗?

2 个答案:

答案 0 :(得分:3)

如果要在使用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 Method

答案 1 :(得分:0)

你还好。当您致电new MSWord.Application();时,新的Ms-Word流程将启动并管理文档。

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