Click here to Skip to main content
15,886,606 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi all,
I am programming a window service (c#), which convert a doc/docx file to html.
After test unit, everything is very OK, but when it run it service mode, it throw an exception when saving the doc file to html.
Following is my codes:

C#
object srcFile = sourceFile;
object dstFile = destFile;
object unknownObj = Type.Missing;

Word._Application newApp = new Word.Application();
Word.Documents docs = newApp.Documents;

// open file
CExecLog.insertLog("Bug convertHtmt2Doc", sourceFile + "|" + destFile, "Open file");
Word.Document doc = docs.Open(ref srcFile, ref unknownObj, ref unknownObj, 
	  ref unknownObj, ref unknownObj, ref unknownObj, ref unknownObj, 
	  ref unknownObj, ref unknownObj, ref unknownObj, ref unknownObj, 
	  ref unknownObj, ref unknownObj, ref unknownObj, 
	  ref unknownObj, ref unknownObj); // doc is NULL after this line ????
object format = Word.WdSaveFormat.wdFormatHTML;

// save file            
CExecLog.insertLog("Bug convertHtmt2Doc", sourceFile + "|" + destFile, "Save file after sleep, and doc is null ?" + (doc == null));
doc.SaveAs(ref dstFile, ref format, ref unknownObj, ref unknownObj, ref unknownObj,
	  ref unknownObj, ref unknownObj, ref unknownObj, ref unknownObj, 
	  ref unknownObj, ref unknownObj, ref unknownObj, ref unknownObj, 
	  ref unknownObj, ref unknownObj, ref unknownObj);

object missing = Type.Missing;
object save = Word.WdSaveOptions.wdDoNotSaveChanges;
// quit office
CExecLog.insertLog("Bug convertHtmt2Doc", sourceFile + "|" + destFile, "Quit");
newApp.Quit(ref save, ref missing, ref missing);


I tried another solution following: http://hintdesk.com/c-convert-word-to-html/comment-page-1/#comment-9041[^] but it throw an 'Object reference not set to an instance of an object' too.

Test unit, and service run on same machine, I dont know why it doesn't work on my service.
Could you please give me some guides.
TuanNM
Posted

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900