簡體   English   中英

C# 如何在單詞段落范圍內獲取部分字線顏色

[英]C# How can i get part of the word line's color in a word paragraph range

使用 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].range 中設置子范圍

我檢查了 MSDN,只發現當它是 document.Range 時,你可以設置范圍的開始和結束。

所以我要問的是有人能告訴我如何在一個段落[i].range 中設置一個子范圍。 這樣我就可以使用 range.font.colorindex

或者

如果沒有辦法做到這一點,那么我如何在閱讀該行的每個 prat 時獲得顏色信息,以便當我閱讀紅色部分時我可以知道。

謝謝

謝謝你的幫助。 我找到了找到我想要的部分的方法。 從這個問題: 重新定義一個段落范圍以在段落中包含一個詞的子集似乎我沒有搜索到正確的哼哼~

通過使用

Microsoft.Office.Interop.Word.Range rng = doc.paragraphs[3].Range.Duplicate;

我可以得到一個可操作的范圍(你不能改變段落范圍),

並通過使用

rng.MoveEnd(WdUnits.wdCharacter, endPos - rng.Characters.Count); rng.MoveStart(WdUnits.wdCharacter, startPos);

我可以找到我想要的

提示: range.setRange(int start, int end) 將始終(我認為)相對於文檔的開始和結束。 當你試圖處理一個句子或一行時,它是無助的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM