亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

HitHighlight 僅適用于當前范圍

HitHighlight 僅適用于當前范圍

C#
藍山帝景 2022-10-23 16:15:35
我正在使用以下代碼在我的文檔中查找一些字符串:Application application = Addin.Application;Document document = application.ActiveDocument;Range rng = document.Content;rng.Find.ClearFormatting();rng.Find.Forward = true;rng.Find.Text = findText;while (rng.Find.Execute() && rng.Find.Found){    //here: rng.Text == findText    //however rng.Find.HitHighlight(findText, WdColor.wdColorAqua);    //highlights all occurrences in the document, not in the current range}作為代碼狀態中的注釋,我希望rng.Find.HitHighlight(findText, WdColor.wdColorAqua);只在當前范圍內工作,而是在整個文檔上執行。有趣的是,如果我從不同的范圍開始,這將按我的預期工作......即。Range rng = document.Content.Paragraphs.First.Range;rng.Find.HitHighlight("video", WdColor.wdColorAqua);只會HitHighlight在findText第一段中。這是不一致的......關于如何HitHighlight僅在使用選擇的范圍內執行的任何想法Find?注意:我在 NetOffice 插件中嘗試過這個,我得到了相同的行為。
查看完整描述

1 回答

?
慕田峪4524236

TA貢獻1875條經驗 獲得超5個贊

似乎該Find.HitHighlight方法不打算與Find.Execute. 它似乎使用您調用時存在的任何范圍Execute。如果你不調用執行,它使用當前范圍。

評論

當 Word 被指定為電子郵件編輯器時,HitHighlight 方法主要適用于 Office Outlook 中的搜索突出顯示。但是,如果要突出顯示找到的文本,可以在 Word 中的文檔上使用此方法。否則,使用 Execute 方法。

我懷疑除了遍歷您已經知道的每個段落之外,沒有其他方法可以做到這一點。

我意識到這不是一個完整的答案,但 VSTO 不是一個流行的標簽,這可能是你會得到的最好的。大多數問題完全沒有答案,而且通常也沒有評論。


查看完整回答
反對 回復 2022-10-23
  • 1 回答
  • 0 關注
  • 183 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號