KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
(Somewhat of a follow on from the post (which remains unanswered): https://stackoverflow.com/q/6197829/314661 ) Using the following code Application app = new Application(); _Document doc = app.Documents.Open("myDocPath.docx", false, false, false); doc.PrintOut(false); doc.Close(); I am attempting to open and print a file programmatically. The problem is each time I run the above code a new WINWORD.exe process is started and obviously this quickly eats up all the memory. The application class doesn't seem to contain a dispose/close or similar method. After a bit of research I (realized) and changed the code to the following. Application app = new Application(); _Document doc = app.Documents.Open(fullFilePath + ".doc", false, false, false); doc.PrintOut(false); doc.Close(); int res = System.Runtime.InteropServices.Marshal.ReleaseComObject(doc); int res1 = System.Runtime.InteropServices.Marshal.ReleaseComObject(app); And I can see the remaining reference count is zero but the processes remain? PS: I'm using Version 14 of the Microsoft.Office.Interop library.
Tags (comma-separated)
Save Edits
Cancel