Click here to Skip to main content
15,886,052 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
I had written a function to generate a word document by using the Office Interop Word object. My code is as shown below. It is working fine in my local system. But when i try to run it from window server 2003 it is not working. It keeps loading at Word.Document wordDoc = wordApp.Documents.Open and doesn't do anything.

C#
private void GenerateEmploymentCertificate()
    {
        object Nothing = System.Reflection.Missing.Value;
        object format = Word.WdSaveFormat.wdFormatDocument;
        Word.Application wordApp = new Word.ApplicationClass();

        object srcFileName = Server.MapPath(ResolveUrl(@"~/HRLetter\Arabia\Templates\Employment Certificate.doc"));
        Word.Document wordDoc = wordApp.Documents.Open
       (ref srcFileName, ref format, ref Nothing, ref Nothing,
       ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing,
       ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing,
       ref Nothing, ref Nothing);
        try
        {

            object bookmarkDate = "Date";
            wordDoc.Bookmarks.get_Item(ref bookmarkDate).Select();
            wordApp.Selection.Text = string.Format("{0:MM/dd/yyyy}", lblRequestdate.Text);

            object bookmarkEmployeeName = "EmployeeName";
            wordDoc.Bookmarks.get_Item(ref bookmarkEmployeeName).Select();
            wordApp.Selection.Text = lblEmployeeName1.Text;

            object bookmarkCompany = "Company";
            wordDoc.Bookmarks.get_Item(ref bookmarkCompany).Select();
            wordApp.Selection.Text = lblCompanyName1.Text; 

            object bookmarkJoiningDate = "JoiningDate";
            wordDoc.Bookmarks.get_Item(ref bookmarkJoiningDate).Select();
            wordApp.Selection.Text = string.Format("{0:MM/dd/yyyy}", lblJoiningDate1.Text); 

            object bookmarkDesignation = "Designation";
            wordDoc.Bookmarks.get_Item(ref bookmarkDesignation).Select();
            wordApp.Selection.Text = lblDesignation1.Text;

            string DocName;
            DocName = string.Format("{0}_employment_certificate", lblRequestNo.Text);
            hFilename.Value = DocName;
            wordDoc.SaveAs(Server.MapPath(ResolveUrl(@"~/HRLetter\Arabia\Letters\" + DocName + ".doc")));

        }
        catch (Exception exp)
        {
            Session["generalError"] = null;
            Session["generalError"] = "There was an error at generating the letter. Please send email to unify.admin@unilever.com with this screen shot.<br /><br /><br />Request No:" + lblRequestNo.Text + "<br />Action:Submit<br />" + exp.StackTrace.ToString();
            LogManager logHelper = new LogManager(Request.PhysicalApplicationPath.Trim(), "Leave System - Malaysia");
            logHelper.LogError("[btnSubmit_Click - ]" + exp.Message + ".StackTrace - " + exp.StackTrace.ToString());
            Response.Redirect(ResolveUrl("~/Error/ErrorHandler.aspx"));
        }
        finally
        {
            // Close wordDoc2
            wordDoc.Close(ref Nothing, ref Nothing, ref Nothing);
            if (wordDoc != null)
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(wordDoc);
                wordDoc = null;
            }
            // close wordApp
            wordApp.Quit(ref Nothing, ref Nothing, ref Nothing);
            if (wordApp != null)
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(wordApp);
                wordApp = null;
            }
        }
        GC.Collect();
    }
Posted
Comments
Richard MacCutchan 18-Jun-12 4:59am    
Could be anything. Add some debug code to show whether the path is correct, the result of the Open() method etc.

I also tried wrapping the code in a try catch statement. Still nothing happens. Is there any other alternative for my function? Could you please help me?
 
Share this answer
 
SQL
From the code which I have given in my above post, I am trying to achieve word automation under asp.net 4 and in windows server 2003 R2 Standart x64 Edition. I searched in google but I could not find any solution. I even tried the solutions from following threads but nothing is working for me.

[Word Automation][1]

[Word 2007 Documents][2]

What could be the problem and the solution to it? Could you please help me?

Thanks.


  [1]: http://social.msdn.microsoft.com/Forums/en-US/netfx64bit/thread/65a355ce-49c1-47f1-8c12-d9cf5f23c53e
  [2]: http://social.msdn.microsoft.com/Forums/en/architecturegeneral/thread/0f5448a7-72ed-4f16-8b87-922b71892e07
 
Share this answer
 

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