2

私は次のコードを使用しています:

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 オブジェクトなど) をプログラムで閉じる必要がありますか? それともガベージコレクターですか?

4

2 に答える 2

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

これにより、ReleaseComObjectMarshal.ReleaseComObjectメソッドの使用方法の例を示すことができます。

于 2012-11-15T19:20:15.387 に答える
0

君は大丈夫だよ。new MSWord.Application();新しいMs-Wordを呼び出すと 、プロセスが開始され、ドキュメントが管理されます。

心配する必要はありません。ユーザーにドキュメントを表示すると、ユーザーがドキュメントを閉じるとすべて完了します。

于 2012-11-15T19:12:49.043 に答える