C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 38 を表示中)
■19714 / )  WORDのプロセス解放について
□投稿者/ 純@WAS (4回)-(2008/05/28(Wed) 11:49:49)

分類:[ASP.NET (C#)] 

2008/05/28(Wed) 11:58:11 編集(投稿者)
お世話になっております。

ASP.NETからWordの出力を行っているのですが、
2回目以降に投稿ボタンをクリックすると
「COMException
このファイルは読み取り専用です。」
というエラーが発生します。

タスクマネージャからプロセスを参照したところ、WINWORD.EXEが終了されていませんでした。
しかしこれは100%発生するわけではなく、なぜ場合によってWINWORD.EXEが終了されないのかが解りません。

以下のコードが投稿ボタンとなります。
不足があればご指摘下さい。

-----
        protected void Button1_Click(object sender, EventArgs e)
        {
            #region ワードファイルの定義を行う
            //ファイル名
            object fileName = "C://test.doc";
            //読み取り専用
            object readOnly = false;
            //活性
            object isVisible = true;
            //MissingValue
            object missing = System.Reflection.Missing.Value;

            //ワードのインスタンスを作成
            ApplicationClass oWordApp = new ApplicationClass();

            //ドキュメントのインスタンスを作成
            Document oWordDoc = oWordApp.Documents.Open(ref fileName, ref missing, ref readOnly, ref missing,
                                                        ref missing, ref missing, ref missing, ref missing, ref missing,
                                                        ref missing, ref missing, ref missing, ref missing, ref missing,
                                                        ref missing, ref missing);
            #endregion

            oWordApp.Selection.TypeText(txtA.Text);
            oWordApp.Selection.TypeParagraph();
            oWordApp.Selection.TypeParagraph();
            oWordApp.Selection.TypeText(TxtB.Text);

            oWordDoc.Save();

            System.Runtime.InteropServices.Marshal.ReleaseComObject(oWordDoc);
            System.Runtime.InteropServices.Marshal.ReleaseComObject(oWordApp);
        }
------

なお、環境は
Windows XP
VisualStudio 2005 C#
です

返信 編集キー/


管理者用

- Child Tree -