我想从单词到文本文件中读取高亮颜色相等的黄色单词。(正确答案问题) 我知道读取txt文件,但我没看过高亮文本。
我想读正确的答案。
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());
}
}
答案 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);
}