在c#中读取高亮显示的单词到txt文件

时间:2017-01-12 09:11:30

标签: c# ms-word

我想从单词到文本文件中读取高亮颜色相等的黄色单词。(正确答案问题) 我知道读取txt文件,但我没看过高亮文本。

MY WORD FILE: word file

我想读正确的答案。

OUTPUT : C B C A

我的代码:

 object missObj = Missing.Value;
            object path = @"D:\test.doc";
            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.HighlightColorIndex == Microsoft.Office.Interop.Word.WdColorIndex.wdDarkYellow)
                {
                    Console.WriteLine(range.ToString());
                }
            }

1 个答案:

答案 0 :(得分:0)

首先,您无法找到这些单词,因为它未突出显示Microsoft.Office.Interop.Word.WdColorIndex.wdDarkYellow而只是Microsoft.Office.Interop.Word.WdColorIndex.wdYellow,您也无法强制range.ToString需要使用range.Text来获取文字。此示例显示如何获取这些单词:

 public void GetColorText()
    {
        string output = String.Empty;
        object missObj = Missing.Value;
        object path = @"C:\Users\Mateusz\Desktop\test.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.HighlightColorIndex == Microsoft.Office.Interop.Word.WdColorIndex.wdYellow)
            {
                output += $"{range.Text} ";
            }
        }

        Console.WriteLine(output);
    }
相关问题