2

winforms アプリケーション内で既存の Word 文書を開いて書き込もうとしています。以下は同じコードです。

            object readOnly = false;
            object isVisible = true;
            object oMissing = System.Reflection.Missing.Value;
            object strDocPath = Environment.CurrentDirectory + @"\" + templateFileName;
            wordApp = new Microsoft.Office.Interop.Word.Application();

           //Set the AppId to uniquely identify word doc
            string AppId = "" + DateTime.Now.Ticks;
            this.wordApp.Application.Caption = AppId;
            this.wordApp.Visible = true;


            wordDoc = wordApp.Documents.Open(ref strDocPath, ref oMissing, ref readOnly, ref oMissing, ref oMissing, ref oMissing,
                                          ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref isVisible,
                                          ref oMissing, ref oMissing, ref oMissing, ref oMissing);

これはうまくいっています。しかし、私が直面している問題は、ユーザーがアプリケーションの外部から Word 文書を開くと、上記で作成した同じ「wordApp」オブジェクトの下で開かれることです。したがって、以下のコードでドキュメントを閉じると、外側のドキュメントが閉じられ、その逆も同様です。助言がありますか ??

            if (wordDoc != null)
            {
                this.wordDoc.Close(ref saveChanges, ref originalFormat, ref routeDocument);
                Marshal.FinalReleaseComObject(wordDoc);
                wordDoc = null;
            }

            if (wordApp != null)
            {                                 
                wordApp.Quit(ref saveChanges, ref originalFormat, ref routeDocument);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(wordApp);
                wordApp = null;

            }
4

0 に答える 0