0
使用VSTO和C#,我試圖讓Outlook突出顯示電子郵件正文中的特定單詞。到目前爲止,我已經能夠使用下面的代碼來完成這件事:C#VSTO:突出顯示電子郵件正文文本 - ClearHitHighlight()不清除?
Outlook.MailItem mailItem = this.inspector.CurrentItem as Outlook.MailItem;
if (inspector.IsWordMail())
{
var outlookWordDocument = inspector.WordEditor as Word.Document;
if (outlookWordDocument == null || outlookWordDocument.Application.Selection == null)
{ return; }
var wordRange = outlookWordDocument.Application.Selection.Range;
Word.Find find_highlight = wordRange.Find;
find_highlight.HitHighlight("apples", Word.WdColor.wdColorDarkRed);
find_highlight.ClearHitHighlight(); // trying to clear for testing purposes, but does nothing
}
我的問題是,ClearHitHighlight()函數不清除任何東西。我可以清楚的唯一方法是如果我之後再進行另一次搜索。請參閱下面的評論:
find_highlight.HitHighlight("apples"); //highlights "apples"
find_highlight.HitHighlight("oranges"); //highlights "oranges" too
find_highlight.ClearHitHighlight(); //does nothing
find_highlight.HitHighlight("pears"); //clears previous highlights, adds pears
作爲替代方案,我可以強調通過格式化電子郵件的實際正文文本,但這種HitHighlight功能似乎更合適 - 如果我能想出如何清除標記完成後!
任何幫助,將不勝感激。