Search code examples
java.netms-wordhighlighting

Programmatically highlight text in MS Word using java


Can someone tell me if it is possible to highlight certain words (provided by page numbers and line numbers) in a word document (basically DOCX)? My primary choice is to use Java. If there is any .Net solution for this problem, please let me know that.

Thanks.


Solution

  • I have not found in java but in .NET

    object missObj = Missing.Value;
                object path = @"D:\mydoc.docx";
                Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
                Microsoft.Office.Interop.Word.Document doc = app.Documents.Open(ref path, ref missObj, ref missObj, ref missObj, ref missObj, ref missObj, ref missObj, ref missObj, ref missObj, ref missObj, ref missObj, ref missObj, ref missObj, ref missObj, ref missObj, ref missObj);
                foreach (Microsoft.Office.Interop.Word.Range range in doc.Words)
                {
                    if (range.Text.Trim() == "the text")
                    {
                        range.HighlightColorIndex = Microsoft.Office.Interop.Word.WdColorIndex.wdDarkYellow;
                        range.Font.ColorIndex = Microsoft.Office.Interop.Word.WdColorIndex.wdWhite;
                    }
                }
    

    Source : http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/9fba8427-8b3c-44f2-b19f-92eb5108693b/