Click here to Skip to main content
15,883,749 members
Articles / Productivity Apps and Services / Microsoft Office / Microsoft Word
Tip/Trick

Search and highlight text in MS Word through C#

Rate me:
Please Sign up or sign in to vote.
4.78/5 (8 votes)
4 Jul 2011CPOL 37K   10   1
Code to search and highlight text in MS Word.

You can use the following code to open a Word document and highlight the searched for text(s):


C#
private void btnFind_Click(object sender, EventArgs e)
{
    object fileName = "xxxxx"; //The filepath goes here
    string textToFind = "xxxxx"; //The text to find goes here
    Word.Application word = new Word.Application();
    Word.Document doc = new Word.Document();
    object missing = System.Type.Missing;
    try
    {
        doc = word.Documents.Open(ref fileName, ref missing, ref missing, 
        ref missing, ref missing, ref missing, ref missing, ref missing, 
        ref missing, ref missing, ref missing, ref missing, ref missing, 
        ref missing, ref missing, ref missing);
        doc.Activate();
        foreach (Word.Range docRange in doc.Words)
        {
            if(docRange.Text.Trim().Equals(textToFind,
               StringComparison.CurrentCultureIgnoreCase))
            {
                docRange.HighlightColorIndex = 
                  Microsoft.Office.Interop.Word.WdColorIndex.wdDarkYellow;
                docRange.Font.ColorIndex = 
                  Microsoft.Office.Interop.Word.WdColorIndex.wdWhite;
            }
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show("Error : " + ex.Message);
    }
}

You have to add a reference to Microsoft.Office.Interop.Word using the following statement:


C#
using Word = Microsoft.Office.Interop.Word;

License

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


Written By
Software Developer Texas Learning and Computation Center
United States United States
Darshan is an enthusiastic and passionate Software Developer. He has achieved a Master's Degree in Computer Science from University of Houston, TX. He currently works as a Research Assistant at Texas Learning and Computation Center. He owns this blog and loves sharing interesting thoughts about programming.

Visit my personal Blog, www.darshansblog.com

Comments and Discussions

 
-- No messages could be retrieved (timeout) --