与c#应用程序中的Word非常慢的互操作

时间:2010-12-03 08:46:44

标签: c# rtf

我使用VS2005,我需要创建许多.doc文件。 我的电脑(带有2GB RAM的英特尔c2d6600)可以转换为10个文件/分钟对我来说非常慢。 我该怎么做才能提高性能?

我的代码:


oWord = new Word.Application();
oMissing = System.Reflection.Missing.Value;
oDoc = this._oWord.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing);

...
//Do something
...

//save rtf
object fileName = this.FileRtf;
object fileFormat = Word.WdSaveFormat.wdFormatRTF;
object savechanges = false;
oDoc.SaveAs(ref fileName, ref fileFormat, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
oWord.Quit(ref savechanges, ref oMissing, ref oMissing);

3 个答案:

答案 0 :(得分:4)

我的通灵调试能力告诉我你需要优化以下代码:

...
//Do something
...

答案 1 :(得分:2)

尝试减少对

的通话次数
oWord = new Word.Application(); 
//and 
oWord.Quit(ref savechanges, ref oMissing, ref oMissing); 

换句话说,只调用一次,并将一个Word实例用于多个文件。

答案 2 :(得分:1)

首先,您应该分析您的应用程序,以找出花费时间的地方。

对于是个人资料工作者列表,请参阅此SO question