2010-12-03 32 views
0

我使用VS2005,我需要創建許多.doc文件。 我的電腦(英特爾c2d6600與2GB內存)可以轉換爲10個文件/分鐘,這對我來說非常慢。 我應該怎麼做才能提高性能?在c#應用程序中與Word非常緩慢的互操作

我的代碼:


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); 

回答

4

我的心理調試的力量告訴我,你需要將下面的代碼優化:

... 
//Do something 
... 
+0

Word.Paragraph oPara; ...; oPara.Range.InsertParagraphAfter()的工作很慢,但我在每個文檔中都有很多這樣的操作。 :( – mystdeim 2010-12-03 09:55:01

2

儘量減少調用數

oWord = new Word.Application(); 
//and 
oWord.Quit(ref savechanges, ref oMissing, ref oMissing); 

換句話說,將它們稱爲一次,並使用Word的一個實例來存儲多個文件。

+0

謝謝,我已經這樣做了,但轉換仍然很慢。 – mystdeim 2010-12-03 09:49:01

1

首先,您應該對您的應用程序進行配置以瞭解時間用於何處。

對於分析器列表,請參閱此SO question

相關問題