简体   繁体   English

在c#中读取突出显示的单词到txt文件

[英]Read highlight words to txt file in c#

I want read highlight color equal yellow words from word to text file.(correct answer questions) I am know read txt file but I dont read highlights texts.我想从单词到文本文件读取高亮颜色等于黄色的单词。(正确答案问题)我知道阅读 txt 文件,但我不阅读高亮文本。

MY WORD FILE :我的 WORD 文件: 字文件

I want read correct answers.我想阅读正确答案。

OUTPUT : C B C A

My code:我的代码:

 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());
                }
            }

First you cant find these words becouse it's not highlighted Microsoft.Office.Interop.Word.WdColorIndex.wdDarkYellow but just Microsoft.Office.Interop.Word.WdColorIndex.wdYellow , also You cant cast range.ToString need to use range.Text to get text.首先,你不能找到这些话becouse它不强调Microsoft.Office.Interop.Word.WdColorIndex.wdDarkYellow只是Microsoft.Office.Interop.Word.WdColorIndex.wdYellow ,还你不能投range.ToString需要使用range.Text获得文本。 This sample show how get these words:此示例展示了如何获取这些单词:

 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);
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM