articles

Home / DeveloperSection / Articles / Editing MS Word Document in CSharp .NET

Editing MS Word Document in CSharp .NET

Uttam Misra44555 12-Jul-2010

Here I am going to demonstrate how to create and edit MS Word file through C#.Net

Example

Editing MS Word Document in CSharp .NET

To create or edit MS Word document, first of all we need to add two references to our project.

Editing MS Word Document in CSharp .NET

Coding
Creating document
 privatevoid btnCreate_Click(object sender, EventArgs e)
        {
            try
            {
//creating object for missing value
                object missing = System.Reflection.Missing.Value;
//object for end of file
                object endofdoc = "\\endofdoc";
 
//creating instance of word application
Microsoft.Office.Interop.Word._Application w = new Microsoft.Office.Interop.Word.Application();
//creating instance of word document
                Microsoft.Office.Interop.Word._Document doc;
//setting status of application to visible
                w.Visible = true;
//creating new document
    doc = w.Documents.Add(ref missing, ref missing, ref missing,     ref missing);
//adding paragraph to document
                Microsoft.Office.Interop.Word.Paragraph para1;
                para1 = doc.Content.Paragraphs.Add(ref missing);
                object styleHeading1 = "Heading 1";
                para1.Range.set_Style(ref styleHeading1);
                para1.Range.Text = "Heading One";
                para1.Range.Font.Bold = 1;
                para1.Format.SpaceAfter = 24;
                para1.Range.InsertParagraphAfter();
//creating second paragraph
                Microsoft.Office.Interop.Word.Paragraph para2;
                para2 = doc.Content.Paragraphs.Add(ref missing);               
    para2.Range.Text = "Heading OneHeading OneHeading OneHeading OneHeading OneHeading OneHeading"+ '\n'+"OneHeading OneHeading OneHeading OneHeading OneHeading OneHeading One";
                para2.Range.Font.Bold = 1;
                para2.Format.SpaceAfter = 24;
                para2.Range.InsertParagraphAfter();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

 

Editing document
        privatevoid btnEdit_Click(object sender, EventArgs e)
        {
//creating instance of word application
    Microsoft.Office.Interop.Word._Application w = new Microsoft.Office.Interop.Word.Application();               
                object path = @"C:\table.doc";
                object read = "ReadWrite";
                object readOnly = false;
                object o = System.Reflection.Missing.Value;
//opening document
    Microsoft.Office.Interop.Word._Document oDoc = w.Documents.Open(ref path, ref o, ref readOnly, ref o, ref o, ref o, ref o, ref o, ref o, ref o, ref o, ref o, ref o, ref o, ref o, ref o);
 
                try
                {              
//loop for each paragraph in document
foreach (Microsoft.Office.Interop.Word.Paragraph p in oDoc.Paragraphs)
                {
                    Microsoft.Office.Interop.Word.Range rng = p.Range;
  Microsoft.Office.Interop.Word.Style styl = rng.get_Style() as Microsoft.Office.Interop.Word.Style;                   
//checking if document containg table
if ((bool)rng.get_Information (Microsoft.Office.Interop.Word.WdInformation.wdWithInTable)
                    == true)
                    {
//loop for each cell in table
   foreach (Microsoft.Office.Interop.Word.Cell c in rng.Cells)
                        {
                            if (rng.Cells.Count > 0)
                            {
            //checking for desired field in table
                                if (c.Range.Text.ToString().Contains("ID"))
                  //editing values in tables.
                                    c.Next.Range.Text = "1";
                                if (c.Range.Text.ToString().Contains("Name"))
                                    c.Next.Range.Text = "Haider";
  if (c.Range.Text.ToString().Contains("Address"))
                                    c.Next.Range.Text = "Allahabad";                    
                            }
                        }
//saving document
                        oDoc.Save();
                    }                  
                }
//closing document
                oDoc.Close(ref o,ref o,ref o);
            }
            catch (Exception ex)
            {
                oDoc.Close(ref o, ref o, ref o);
                MessageBox.Show(ex.Message);
            }
           
        }
Screen shot
Before editing

Editing MS Word Document in CSharp .NET

After editing

Editing MS Word Document in CSharp .NET


Updated 08-Sep-2020
More than 18 years of working experience in IT sector. We are here to serve you best.

Leave Comment

Comments

Liked By