OL 2007插件:从Outlook检查器窗口中获取HTML格式的选择

问题描述

|| 我正在使用一个插件,需要在Outlook编辑器(特别是“撰写”检查器)中转换选定的文本。 文本转换不应忽略当前的文本格式,因此我正在考虑从选择中获取HTML格式的文本。 Outlook 2007/2010 Compose检查器项为Word格式,因此我使用了“复制到剪贴板”技巧来获取当前选择,将其转换为Range,复制到剪贴板并按如下方式获取HTML格式的数据:
private static void XFormMail(Inspector insp)
{
    Word.Document doc = (Word.Document)insp.WordEditor;
    Word.Selection sel = doc.Windows[1].Selection;
    Word.Range range = sel.Range;

    Debug.WriteLine(String.Format(\"Selection chars: {0}\",sel.Characters.Count));
    Debug.WriteLine(String.Format(\"Selected text: {0}\",sel.Text));
    Debug.WriteLine(String.Format(\"Selected XML: {0}\",sel.XML));

    range.copy();
    string h = (string)Clipboard.GetData(DataFormats.Html).ToString();
}
有什么方法可以直接从选择对象中获取HTML,而无需使用剪贴板或将范围导出为HTML的临时文件? 提前致谢。     

解决方法

        我不确定,但是请尝试使用Range.Paste,Range.PasteSpecial和Range.PasteFormat方法。 我在较小的情况下在Excel.Range中使用此方法。 Office应用程序具有自己的剪贴板,但无法以编程方式访问(悲伤)