我用Word.ApplicationClass()
读取WORD文档并且文档样式很友好( doc )
AAAAA
BBBB
①AAA②BBB③CCC(第三部分为红色)④DDD
我使用
得到每一行String docLine = doc.paragraphs [i] .range.text.Trim();
然后运行[doc.paragraphs [3] .range.text.Trim();]得到(第3行)
①AAA②BBB③CCC(第三部分为红色)④DDD
![在此处输入图像描述] [2]包含4个不同颜色的单词的行。
这是我的问题,当我想获得该行的红色第三部分时 我不知道如何得到它。
因为我不知道如何设置段落[3]。范围中的子范围,其中包含我想要的内容。
我已经检查了MSDN,但发现你可以设置一个Range的开始和结束文件。范围。
所以我要问的是,有人可以告诉我如何在paragraphy [i]。范围内设置子范围。所以我可以使用range.font.colorindex
或
如果没有办法那么那么当我阅读该行的每一个prat时,如何获取颜色信息,以便当我读到我能够知道的红色部分时。
由于
答案 0 :(得分:0)
谢谢你的帮助。香港专业教育学院找到了找到我想要的部分的方法。 从这个阙:Re-defne a Paragraph Range to Include a Subset of Words in the Paragraph 好像我没有找到正确的哼〜
使用
Microsoft.Office.Interop.Word.Range rng = doc.paragraphs [3] .Range.Duplicate;
我可以得到一个可操作的范围(你不能改变paragraphs.range),
并使用
rng.MoveEnd(WdUnits.wdCharacter,endPos - rng.Characters.Count); rng.MoveStart(WdUnits.wdCharacter,startPos);
我可以找到我想要的东西
提示:range.setRange(int start,int end)总是(我认为)相对于文档的开头和结尾。当你尝试在一个句子或一条线上工作时,这是无助的。